[{"data":1,"prerenderedAt":1393},["ShallowReactive",2],{"navigation":3,"\u002Fhow-to\u002Fautomate\u002Fdownload-run-diagnostics":1004,"\u002Fhow-to\u002Fautomate\u002Fdownload-run-diagnostics-surround":1388},[4,68,209,388,594,791,838],{"title":5,"device":6,"path":7,"stem":8,"children":9,"page":51},"Get Started",null,"\u002Fget-started\u002F","01.get-started",[10,14,52,56,60,64],{"title":11,"path":12,"stem":13,"device":6},"Welcome to UniteLabs","\u002Fget-started\u002Fwelcome\u002F","01.get-started\u002F00.welcome",{"title":15,"device":6,"path":16,"stem":17,"children":18,"page":51},"Setup","\u002Fget-started\u002Fsetup\u002F","01.get-started\u002F01.setup",[19,23,27,31,35,39,43,47],{"title":20,"path":21,"stem":22,"device":6},"Get access","\u002Fget-started\u002Fsetup\u002Fget-access\u002F","01.get-started\u002F01.setup\u002F00.get-access",{"title":24,"path":25,"stem":26,"device":6},"GroundControl","\u002Fget-started\u002Fsetup\u002Fgroundcontrol\u002F","01.get-started\u002F01.setup\u002F10.groundcontrol",{"title":28,"path":29,"stem":30,"device":6},"Network requirements","\u002Fget-started\u002Fsetup\u002Fnetwork-requirements\u002F","01.get-started\u002F01.setup\u002F15.network-requirements",{"title":32,"path":33,"stem":34,"device":6},"Connect to Platform","\u002Fget-started\u002Fsetup\u002Fconnect-to-platform\u002F","01.get-started\u002F01.setup\u002F20.connect-to-platform",{"title":36,"path":37,"stem":38,"device":6},"Set up your development machine","\u002Fget-started\u002Fsetup\u002Fdeveloper-machine\u002F","01.get-started\u002F01.setup\u002F30.developer-machine",{"title":40,"path":41,"stem":42,"device":6},"SDK installation","\u002Fget-started\u002Fsetup\u002Fsdk-installation\u002F","01.get-started\u002F01.setup\u002F40.sdk-installation",{"title":44,"path":45,"stem":46,"device":6},"SDK upgrade","\u002Fget-started\u002Fsetup\u002Fsdk-upgrade\u002F","01.get-started\u002F01.setup\u002F45.sdk-upgrade",{"title":48,"path":49,"stem":50,"device":6},"Connect an AI assistant to the docs","\u002Fget-started\u002Fsetup\u002Fai-assistant\u002F","01.get-started\u002F01.setup\u002F50.ai-assistant",false,{"title":53,"path":54,"stem":55,"device":6},"Control a device","\u002Fget-started\u002Fcontrol-a-device\u002F","01.get-started\u002F02.control-a-device",{"title":57,"path":58,"stem":59,"device":6},"Liquid handling as code","\u002Fget-started\u002Fliquid-handling-as-code\u002F","01.get-started\u002F03.liquid-handling-as-code",{"title":61,"path":62,"stem":63,"device":6},"Automate your workflows","\u002Fget-started\u002Fautomate-your-workflows\u002F","01.get-started\u002F04.automate-your-workflows",{"title":65,"path":66,"stem":67,"device":6},"Self-Paced Setup Guide","\u002Fget-started\u002Fself-onboarding\u002F","01.get-started\u002F90.self-onboarding",{"title":69,"device":6,"path":70,"stem":71,"children":72,"page":51},"How-to","\u002Fhow-to\u002F","02.how-to",[73,127,184,201],{"title":74,"device":6,"path":75,"stem":76,"children":77,"page":51},"Connectors and devices","\u002Fhow-to\u002Fintegrate\u002F","02.how-to\u002F02.integrate",[78,111],{"title":79,"device":6,"path":80,"stem":81,"children":82,"page":51},"Connect a device","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device",[83,87,91,95,99,103,107],{"title":84,"path":85,"stem":86,"device":6},"Connector Configuration","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Fconnector-configuration\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F10.connector-configuration",{"title":88,"path":89,"stem":90,"device":6},"With an executable","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Fwith-an-executable\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F20.with-an-executable",{"title":92,"path":93,"stem":94,"device":6},"From source","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Ffrom-source\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F30.from-source",{"title":96,"path":97,"stem":98,"device":6},"Build your own","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Fbuild-yourself\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F40.build-yourself",{"title":100,"path":101,"stem":102,"device":6},"Headless install","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Fheadless-install\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F50.headless-install",{"title":104,"path":105,"stem":106,"device":6},"Raspberry Pi","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Fraspberry-pi\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F55.raspberry-pi",{"title":108,"path":109,"stem":110,"device":6},"Multi-device Networking","\u002Fhow-to\u002Fintegrate\u002Fconnect-a-device\u002Fmultiple-devices\u002F","02.how-to\u002F02.integrate\u002F20.connect-a-device\u002F60.multiple-devices",{"title":112,"device":6,"path":113,"stem":114,"children":115,"page":51},"Use a device","\u002Fhow-to\u002Fintegrate\u002Fuse-a-device\u002F","02.how-to\u002F02.integrate\u002F30.use-a-device",[116,119,123],{"title":24,"path":117,"stem":118,"device":6},"\u002Fhow-to\u002Fintegrate\u002Fuse-a-device\u002Fgroundcontrol\u002F","02.how-to\u002F02.integrate\u002F30.use-a-device\u002F10.groundcontrol",{"title":120,"path":121,"stem":122,"device":6},"Platform","\u002Fhow-to\u002Fintegrate\u002Fuse-a-device\u002Fplatform\u002F","02.how-to\u002F02.integrate\u002F30.use-a-device\u002F20.platform",{"title":124,"path":125,"stem":126,"device":6},"UniteLabs SDK & REST API","\u002Fhow-to\u002Fintegrate\u002Fuse-a-device\u002Fpython\u002F","02.how-to\u002F02.integrate\u002F30.use-a-device\u002F30.python",{"title":128,"device":6,"path":129,"stem":130,"children":131,"page":51},"Workflows","\u002Fhow-to\u002Fautomate\u002F","02.how-to\u002F07.automate",[132,136,140,144,148,152,156,160,164,168,172,176,180],{"title":133,"path":134,"stem":135,"device":6},"Workflow template","\u002Fhow-to\u002Fautomate\u002Fworkflow-template\u002F","02.how-to\u002F07.automate\u002F10.workflow-template",{"title":137,"path":138,"stem":139,"device":6},"Deploy a workflow","\u002Fhow-to\u002Fautomate\u002Fdeploy-a-workflow\u002F","02.how-to\u002F07.automate\u002F30.deploy-a-workflow",{"title":141,"path":142,"stem":143,"device":6},"Run a workflow","\u002Fhow-to\u002Fautomate\u002Frun-a-workflow\u002F","02.how-to\u002F07.automate\u002F35.run-a-workflow",{"title":145,"path":146,"stem":147,"device":6},"Download run diagnostics","\u002Fhow-to\u002Fautomate\u002Fdownload-run-diagnostics\u002F","02.how-to\u002F07.automate\u002F37.download-run-diagnostics",{"title":149,"path":150,"stem":151,"device":6},"Workflows REST API","\u002Fhow-to\u002Fautomate\u002Fworkflows-api\u002F","02.how-to\u002F07.automate\u002F38.workflows-api",{"title":153,"path":154,"stem":155,"device":6},"CI\u002FCD for workflows","\u002Fhow-to\u002Fautomate\u002Fcicd-for-workflows\u002F","02.how-to\u002F07.automate\u002F40.cicd-for-workflows",{"title":157,"path":158,"stem":159,"device":6},"HITL basics","\u002Fhow-to\u002Fautomate\u002Fbasic-hitl\u002F","02.how-to\u002F07.automate\u002F50.basic-hitl",{"title":161,"path":162,"stem":163,"device":6},"Slack notifications and operator confirmation","\u002Fhow-to\u002Fautomate\u002Fslack-notifications\u002F","02.how-to\u002F07.automate\u002F52.slack-notifications",{"title":165,"path":166,"stem":167,"device":6},"Typed operator inputs","\u002Fhow-to\u002Fautomate\u002Ftyped-operator-inputs\u002F","02.how-to\u002F07.automate\u002F55.typed-operator-inputs",{"title":169,"path":170,"stem":171,"device":6},"Pause and resume a run","\u002Fhow-to\u002Fautomate\u002Fpause-and-resume\u002F","02.how-to\u002F07.automate\u002F57.pause-and-resume",{"title":173,"path":174,"stem":175,"device":6},"Error recovery","\u002Fhow-to\u002Fautomate\u002Fbasic-error-handling\u002F","02.how-to\u002F07.automate\u002F60.basic-error-handling",{"title":177,"path":178,"stem":179,"device":6},"Advanced error handling","\u002Fhow-to\u002Fautomate\u002Fadvanced-error-handling\u002F","02.how-to\u002F07.automate\u002F70.advanced-error-handling",{"title":181,"path":182,"stem":183,"device":6},"Emit lineage events","\u002Fhow-to\u002Fautomate\u002Femitting-lineage-events\u002F","02.how-to\u002F07.automate\u002F90.emitting-lineage-events",{"title":185,"device":6,"path":186,"stem":187,"children":188,"page":51},"Data","\u002Fhow-to\u002Fobserve\u002F","02.how-to\u002F08.observe",[189,193,197],{"title":190,"path":191,"stem":192,"device":6},"File System Connector","\u002Fhow-to\u002Fobserve\u002Ffilesystem-connector\u002F","02.how-to\u002F08.observe\u002F10.filesystem-connector",{"title":194,"path":195,"stem":196,"device":6},"Building an ETL","\u002Fhow-to\u002Fobserve\u002Fbuilding-an-etl\u002F","02.how-to\u002F08.observe\u002F20.building-an-etl",{"title":198,"path":199,"stem":200,"device":6},"Read lineage events","\u002Fhow-to\u002Fobserve\u002Freading-lineage-events\u002F","02.how-to\u002F08.observe\u002F30.reading-lineage-events",{"title":120,"device":6,"path":202,"stem":203,"children":204,"page":51},"\u002Fhow-to\u002Fplatform\u002F","02.how-to\u002F09.platform",[205],{"title":206,"path":207,"stem":208,"device":6},"UniteLabs Desktop","\u002Fhow-to\u002Fplatform\u002Funitelabs-desktop\u002F","02.how-to\u002F09.platform\u002F10.unitelabs-desktop",{"title":210,"device":6,"path":211,"stem":212,"children":213,"page":51},"Concepts","\u002Fconcepts\u002F","04.concepts",[214,252,276,325,364],{"title":215,"device":6,"path":216,"stem":217,"children":218,"page":51},"Labs as code","\u002Fconcepts\u002Flabs-as-code\u002F","04.concepts\u002F01.labs-as-code",[219,223,227],{"title":220,"path":221,"stem":222,"device":6},"Lab as Code","\u002Fconcepts\u002Flabs-as-code\u002Fwhy-code\u002F","04.concepts\u002F01.labs-as-code\u002F00.why-code",{"title":224,"path":225,"stem":226,"device":6},"How it works","\u002Fconcepts\u002Flabs-as-code\u002Fhow-it-works\u002F","04.concepts\u002F01.labs-as-code\u002F01.how-it-works",{"title":228,"device":6,"path":229,"stem":230,"children":231,"page":51},"Use Cases","\u002Fconcepts\u002Flabs-as-code\u002Fuse-cases\u002F","04.concepts\u002F01.labs-as-code\u002F02.use-cases",[232,236,240,244,248],{"title":233,"path":234,"stem":235,"device":6},"Instrument Control","\u002Fconcepts\u002Flabs-as-code\u002Fuse-cases\u002Flow-level-instrument-control\u002F","04.concepts\u002F01.labs-as-code\u002F02.use-cases\u002F10.low-level-instrument-control",{"title":237,"path":238,"stem":239,"device":6},"Multi-device Control","\u002Fconcepts\u002Flabs-as-code\u002Fuse-cases\u002Fmulti-device-control\u002F","04.concepts\u002F01.labs-as-code\u002F02.use-cases\u002F20.multi-device-control",{"title":241,"path":242,"stem":243,"device":6},"Workflow Orchestration","\u002Fconcepts\u002Flabs-as-code\u002Fuse-cases\u002Fworkflow-orchestration\u002F","04.concepts\u002F01.labs-as-code\u002F02.use-cases\u002F30.workflow-orchestration",{"title":245,"path":246,"stem":247,"device":6},"Custom Apps and LIMS Integration","\u002Fconcepts\u002Flabs-as-code\u002Fuse-cases\u002Fcustom-apps-lims\u002F","04.concepts\u002F01.labs-as-code\u002F02.use-cases\u002F40.custom-apps-lims",{"title":249,"path":250,"stem":251,"device":6},"Scale and Fleet Management","\u002Fconcepts\u002Flabs-as-code\u002Fuse-cases\u002Fscale-and-fleet\u002F","04.concepts\u002F01.labs-as-code\u002F02.use-cases\u002F50.scale-and-fleet",{"title":74,"device":6,"path":253,"stem":254,"children":255,"page":51},"\u002Fconcepts\u002Fintegrate\u002F","04.concepts\u002F02.integrate",[256,260,264,268,272],{"title":257,"path":258,"stem":259,"device":6},"Device","\u002Fconcepts\u002Fintegrate\u002Fdevice\u002F","04.concepts\u002F02.integrate\u002F05.device",{"title":261,"path":262,"stem":263,"device":6},"Connector","\u002Fconcepts\u002Fintegrate\u002Fconnector\u002F","04.concepts\u002F02.integrate\u002F10.connector",{"title":265,"path":266,"stem":267,"device":6},"Module","\u002Fconcepts\u002Fintegrate\u002Fmodule\u002F","04.concepts\u002F02.integrate\u002F20.module",{"title":269,"path":270,"stem":271,"device":6},"Action","\u002Fconcepts\u002Fintegrate\u002Faction\u002F","04.concepts\u002F02.integrate\u002F30.action",{"title":273,"path":274,"stem":275,"device":6},"Subscription","\u002Fconcepts\u002Fintegrate\u002Fsubscription\u002F","04.concepts\u002F02.integrate\u002F40.subscription",{"title":277,"device":6,"path":278,"stem":279,"children":280,"page":51},"Liquid handling and robots","\u002Fconcepts\u002Foperate\u002F","04.concepts\u002F03.operate",[281,285,289,293,297,301,305,309,313,317,321],{"title":282,"path":283,"stem":284,"device":6},"Liquid Handling","\u002Fconcepts\u002Foperate\u002Fliquid-handling\u002F","04.concepts\u002F03.operate\u002F10.liquid-handling",{"title":286,"path":287,"stem":288,"device":6},"Modules","\u002Fconcepts\u002Foperate\u002Fmodules\u002F","04.concepts\u002F03.operate\u002F20.modules",{"title":290,"path":291,"stem":292,"device":6},"Deck","\u002Fconcepts\u002Foperate\u002Fdeck\u002F","04.concepts\u002F03.operate\u002F30.deck",{"title":294,"path":295,"stem":296,"device":6},"Labware","\u002Fconcepts\u002Foperate\u002Flabware\u002F","04.concepts\u002F03.operate\u002F40.labware",{"title":298,"path":299,"stem":300,"device":6},"Liquids","\u002Fconcepts\u002Foperate\u002Fliquids\u002F","04.concepts\u002F03.operate\u002F50.liquids",{"title":302,"path":303,"stem":304,"device":6},"Liquid Classes","\u002Fconcepts\u002Foperate\u002Fliquid-classes\u002F","04.concepts\u002F03.operate\u002F60.liquid-classes",{"title":306,"path":307,"stem":308,"device":6},"Parameter Sets","\u002Fconcepts\u002Foperate\u002Fparameter-sets\u002F","04.concepts\u002F03.operate\u002F65.parameter-sets",{"title":310,"path":311,"stem":312,"device":6},"Tips and Tip Tracking","\u002Fconcepts\u002Foperate\u002Ftips\u002F","04.concepts\u002F03.operate\u002F70.tips",{"title":314,"path":315,"stem":316,"device":6},"Simulation","\u002Fconcepts\u002Foperate\u002Fsimulation\u002F","04.concepts\u002F03.operate\u002F80.simulation",{"title":318,"path":319,"stem":320,"device":6},"Error Handling","\u002Fconcepts\u002Foperate\u002Ferror-handling\u002F","04.concepts\u002F03.operate\u002F90.error-handling",{"title":322,"path":323,"stem":324,"device":6},"Robot Arms","\u002Fconcepts\u002Foperate\u002Frobot-arms\u002F","04.concepts\u002F03.operate\u002F95.robot-arms",{"title":128,"device":6,"path":326,"stem":327,"children":328,"page":51},"\u002Fconcepts\u002Fautomate\u002F","04.concepts\u002F07.automate",[329,333,337,341,345,349,353,357,361],{"title":330,"path":331,"stem":332,"device":6},"Workflow","\u002Fconcepts\u002Fautomate\u002Fworkflow\u002F","04.concepts\u002F07.automate\u002F10.workflow",{"title":334,"path":335,"stem":336,"device":6},"Phase","\u002Fconcepts\u002Fautomate\u002Fphase\u002F","04.concepts\u002F07.automate\u002F20.phase",{"title":338,"path":339,"stem":340,"device":6},"Step","\u002Fconcepts\u002Fautomate\u002Fstep\u002F","04.concepts\u002F07.automate\u002F30.step",{"title":342,"path":343,"stem":344,"device":6},"Runs","\u002Fconcepts\u002Fautomate\u002Fruns\u002F","04.concepts\u002F07.automate\u002F40.runs",{"title":346,"path":347,"stem":348,"device":6},"Input","\u002Fconcepts\u002Fautomate\u002Finput\u002F","04.concepts\u002F07.automate\u002F50.input",{"title":350,"path":351,"stem":352,"device":6},"Artifacts","\u002Fconcepts\u002Fautomate\u002Fartifacts\u002F","04.concepts\u002F07.automate\u002F60.artifacts",{"title":354,"path":355,"stem":356,"device":6},"Logs","\u002Fconcepts\u002Fautomate\u002Flogs\u002F","04.concepts\u002F07.automate\u002F70.logs",{"title":358,"path":359,"stem":360,"device":6},"Human in the Loop","\u002Fconcepts\u002Fautomate\u002Fhuman-in-the-loop\u002F","04.concepts\u002F07.automate\u002F80.human-in-the-loop",{"title":318,"path":362,"stem":363,"device":6},"\u002Fconcepts\u002Fautomate\u002Ferror-handling\u002F","04.concepts\u002F07.automate\u002F90.error-handling",{"title":185,"device":6,"path":365,"stem":366,"children":367,"page":51},"\u002Fconcepts\u002Fobserve\u002F","04.concepts\u002F08.observe",[368,372,376,380,384],{"title":369,"path":370,"stem":371,"device":6},"Overview","\u002Fconcepts\u002Fobserve\u002Foverview\u002F","04.concepts\u002F08.observe\u002F10.overview",{"title":373,"path":374,"stem":375,"device":6},"Object Storage","\u002Fconcepts\u002Fobserve\u002Fstorage\u002F","04.concepts\u002F08.observe\u002F10.storage",{"title":377,"path":378,"stem":379,"device":6},"Secrets","\u002Fconcepts\u002Fobserve\u002Fsecrets\u002F","04.concepts\u002F08.observe\u002F20.secrets",{"title":381,"path":382,"stem":383,"device":6},"Data sources","\u002Fconcepts\u002Fobserve\u002Fdata-sources\u002F","04.concepts\u002F08.observe\u002F30.data-sources",{"title":385,"path":386,"stem":387,"device":6},"Data lineage","\u002Fconcepts\u002Fobserve\u002Fdata-lineage\u002F","04.concepts\u002F08.observe\u002F40.data-lineage",{"title":389,"device":6,"path":390,"stem":391,"children":392,"page":51},"Devices","\u002Fdevices\u002F","05.devices",[393,396,446,462,480,520,544,577],{"title":369,"path":394,"stem":395,"device":6},"\u002Fdevices\u002Foverview\u002F","05.devices\u002F00.overview",{"title":397,"path":398,"page":51,"children":399},"Heater-shakers","\u002Fdevices\u002Fheater-shakers\u002F",[400,421,431],{"title":401,"path":402,"stem":403,"device":404},"QInstruments BioShake","\u002Fdevices\u002Fqinstruments-bioshake\u002F","05.devices\u002F10.qinstruments-bioshake",{"slug":405,"vendor":406,"category":407,"connector":405,"package":408,"models":409,"communication":416,"vendor_software":6,"os":417},"qinstruments-bioshake","QInstruments","Plate Shakers & Temperature Control","unitelabs-qinstruments-bioshake",[410,411,412,413,414,415],"BioShake 3000 \u002F 3000 elm \u002F 3000 elm DWP","BioShake 3000-T \u002F 3000-T elm","BioShake 5000 elm","BioShake D30 \u002F D30 elm \u002F D30-T \u002F D30-T elm","BioShake Q1 \u002F Q1 (1.2 mm) \u002F Q1 (3.0 mm) \u002F Q2","HeatPlate","serial (RS-232 over USB)",[418,419,420],"windows","linux","macos",{"title":422,"path":423,"stem":424,"device":425},"QInstruments ColdPlate","\u002Fdevices\u002Fqinstruments-coldplate\u002F","05.devices\u002F20.qinstruments-coldplate",{"slug":426,"vendor":406,"category":407,"connector":405,"package":408,"models":427,"communication":416,"vendor_software":6,"os":430},"qinstruments-coldplate",[428,429],"ColdPlate","ColdPlate slim",[418,419,420],{"title":432,"path":433,"stem":434,"device":435},"Inheco Thermoshake","\u002Fdevices\u002Finheco-thermoshake\u002F","05.devices\u002F30.inheco-thermoshake",{"slug":436,"vendor":437,"category":407,"connector":438,"package":439,"models":440,"communication":444,"vendor_software":6,"os":445},"inheco-thermoshake","Inheco","inheco-tec-controller","unitelabs-inheco-tec-controller",[441,442,443],"Thermoshake AC","Thermoshake 95 AC","Thermoshake Classic","USB, through an Inheco Single TEC (STC) or Multi TEC (MTC) controller",[418,419,420],{"title":447,"path":448,"page":51,"children":449},"Incubation","\u002Fdevices\u002Fincubation\u002F",[450],{"title":451,"path":452,"stem":453,"device":454},"Inheco SCILA","\u002Fdevices\u002Finheco-scila\u002F","05.devices\u002F40.inheco-scila",{"slug":455,"vendor":437,"category":447,"connector":455,"package":456,"models":457,"communication":460,"vendor_software":6,"os":461},"inheco-scila","unitelabs-inheco-scila",[458,459],"SCILA","SCILA MIX 2-gas mixing device","Ethernet (SiLA 1 over SOAP, with UDP discovery)",[418,419,420],{"title":463,"path":464,"page":51,"children":465},"Thermal cyclers","\u002Fdevices\u002Fthermal-cyclers\u002F",[466],{"title":467,"path":468,"stem":469,"device":470},"Inheco ODTC","\u002Fdevices\u002Finheco-odtc\u002F","05.devices\u002F50.inheco-odtc",{"slug":471,"vendor":437,"category":472,"connector":471,"package":473,"models":474,"communication":460,"vendor_software":6,"os":479},"inheco-odtc","Thermal Cycler","unitelabs-inheco-odtc",[475,476,477,478],"ODTC 96","ODTC 96XL","ODTC 384","ODTC 384XL",[418,419,420],{"title":481,"path":482,"page":51,"children":483},"Readers","\u002Fdevices\u002Freaders\u002F",[484,493,505],{"title":485,"path":486,"stem":487,"device":488},"Agilent Biotek Gen5","\u002Fdevices\u002Fbiotek-gen5\u002F","05.devices\u002F60.biotek-gen5",{"slug":489,"vendor":490,"category":491,"connector":492},"biotek-gen5","Agilent","Readers & Imagers","gen5",{"title":494,"path":495,"stem":496,"device":497},"Agilent BioTek Synergy H1","\u002Fdevices\u002Fbiotek-synergy-h1\u002F","05.devices\u002F70.biotek-synergy-h1",{"slug":498,"vendor":490,"category":491,"connector":499,"package":500,"models":501,"communication":503,"vendor_software":6,"os":504},"biotek-synergy-h1","agilent-synergy-h1","unitelabs-agilent-synergy-h1",[502],"BioTek Synergy H1","serial",[418,419,420],{"title":506,"path":507,"stem":508,"device":509},"Tecan Infinite 200","\u002Fdevices\u002Ftecan-infinite-200\u002F","05.devices\u002F75.tecan-infinite-200",{"slug":510,"vendor":511,"category":491,"connector":510,"package":512,"models":513,"communication":517,"vendor_software":518,"os":519},"tecan-infinite-200","Tecan","unitelabs-tecan-infinite-200",[514,515,516],"Infinite F200","Infinite M200","Infinite M200 Pro","USB","i-control on Windows only, for its USB driver",[418,419,420],{"title":521,"path":522,"page":51,"children":523},"Tilt & turn","\u002Fdevices\u002Ftilt-and-turn\u002F",[524,534],{"title":525,"path":526,"stem":527,"device":528},"QInstruments TiltStation","\u002Fdevices\u002Fqinstruments-tiltstation\u002F","05.devices\u002F80.qinstruments-tiltstation",{"slug":529,"vendor":406,"category":530,"connector":405,"package":408,"models":531,"communication":416,"vendor_software":6,"os":533},"qinstruments-tiltstation","Plate Tilting",[532],"TiltStation",[418,419,420],{"title":535,"path":536,"stem":537,"device":538},"QInstruments TurnStation","\u002Fdevices\u002Fqinstruments-turnstation\u002F","05.devices\u002F90.qinstruments-turnstation",{"slug":539,"vendor":406,"category":540,"connector":405,"package":408,"models":541,"communication":416,"vendor_software":6,"os":543},"qinstruments-turnstation","Plate Rotating",[542],"TurnStation",[418,419,420],{"title":545,"path":546,"page":51,"children":547},"Liquid Handlers","\u002Fdevices\u002Fliquid-handlers\u002F",[548,562],{"title":549,"path":550,"stem":551,"device":552},"Hamilton Microlab STAR","\u002Fdevices\u002Fhamilton-microlab-star\u002F","05.devices\u002F100.hamilton-microlab-star",{"slug":553,"vendor":554,"category":545,"connector":555,"package":556,"models":557,"communication":517,"vendor_software":6,"os":561},"hamilton-microlab-star","Hamilton","microlab-star","unitelabs-microlab-star",[558,559,560],"Microlab STAR","Microlab STARlet","Microlab STARplus",[418,419],{"title":563,"path":564,"stem":565,"device":566},"Hamilton Microlab VANTAGE","\u002Fdevices\u002Fhamilton-microlab-vantage\u002F","05.devices\u002F110.hamilton-microlab-vantage",{"slug":567,"vendor":554,"category":545,"connector":568,"package":569,"models":570,"communication":575,"vendor_software":6,"os":576},"hamilton-microlab-vantage","microlab-vantage","unitelabs-microlab-vantage",[571,572,573,574],"Microlab VANTAGE 1.3","Microlab VANTAGE 2.0","Microlab STAR V 1.3","Microlab STAR V 2.0","Ethernet (TCP)",[418,419,420],{"title":578,"path":579,"page":51,"children":580},"Robots","\u002Fdevices\u002Frobots\u002F",[581],{"title":582,"path":583,"stem":584,"device":585},"Brooks PreciseFlex 400","\u002Fdevices\u002Fbrooks-preciseflex-400\u002F","05.devices\u002F95.brooks-preciseflex-400",{"slug":586,"vendor":587,"category":578,"connector":586,"package":588,"models":589,"communication":575,"vendor_software":6,"os":593},"brooks-preciseflex-400","Brooks Automation","unitelabs-brooks-preciseflex-400",[590,591,592],"PreciseFlex 400, standard reach, 400 \u002F 750 \u002F 1160 mm Z","PreciseFlex 400, extended reach (XR), 400 \u002F 750 \u002F 1160 mm Z","Either on a PreciseFlex linear rail (1.0, 1.5 or 2.0 m)",[418,419,420],{"title":595,"device":6,"path":596,"stem":597,"children":598,"page":51},"Liquid Handling and Robots","\u002Fliquid-handling-and-robots\u002F","06.liquid-handling-and-robots",[599,602,614,638,641,686,715,732,753,775],{"title":369,"path":600,"stem":601,"device":6},"\u002Fliquid-handling-and-robots\u002Foverview\u002F","06.liquid-handling-and-robots\u002F00.overview",{"title":290,"device":6,"path":603,"stem":604,"children":605,"page":51},"\u002Fliquid-handling-and-robots\u002Fdeck\u002F","06.liquid-handling-and-robots\u002F10.deck",[606,610],{"title":607,"path":608,"stem":609,"device":6},"Building a Deck","\u002Fliquid-handling-and-robots\u002Fdeck\u002Fbuilding-a-deck\u002F","06.liquid-handling-and-robots\u002F10.deck\u002F10.building-a-deck",{"title":611,"path":612,"stem":613,"device":6},"Save\u002FLoad a Deck","\u002Fliquid-handling-and-robots\u002Fdeck\u002Fsave-load-deck\u002F","06.liquid-handling-and-robots\u002F10.deck\u002F20.save-load-deck",{"title":615,"device":6,"path":616,"stem":617,"children":618,"page":51},"Pipetting","\u002Fliquid-handling-and-robots\u002Fpipetting\u002F","06.liquid-handling-and-robots\u002F20.pipetting",[619,623,627,631,634],{"title":620,"path":621,"stem":622,"device":6},"Basic Pipetting","\u002Fliquid-handling-and-robots\u002Fpipetting\u002Fbasic-pipetting\u002F","06.liquid-handling-and-robots\u002F20.pipetting\u002F10.basic-pipetting",{"title":624,"path":625,"stem":626,"device":6},"Advanced Pipetting","\u002Fliquid-handling-and-robots\u002Fpipetting\u002Fadvanced-pipetting\u002F","06.liquid-handling-and-robots\u002F20.pipetting\u002F20.advanced-pipetting",{"title":628,"path":629,"stem":630,"device":6},"Tip Handling","\u002Fliquid-handling-and-robots\u002Fpipetting\u002Ftip-handling\u002F","06.liquid-handling-and-robots\u002F20.pipetting\u002F30.tip-handling",{"title":302,"path":632,"stem":633,"device":6},"\u002Fliquid-handling-and-robots\u002Fpipetting\u002Fliquid-classes\u002F","06.liquid-handling-and-robots\u002F20.pipetting\u002F40.liquid-classes",{"title":635,"path":636,"stem":637,"device":6},"Labware Transport","\u002Fliquid-handling-and-robots\u002Fpipetting\u002Flabware-transport\u002F","06.liquid-handling-and-robots\u002F20.pipetting\u002F50.labware-transport",{"title":314,"path":639,"stem":640,"device":6},"\u002Fliquid-handling-and-robots\u002Fsimulation\u002F","06.liquid-handling-and-robots\u002F30.simulation",{"title":642,"device":6,"path":643,"stem":644,"children":645,"page":51},"Hamilton STAR","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star",[646,650,654,658,662,666,670,674,678,682],{"title":647,"path":648,"stem":649,"device":6},"Positioning & Movement","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fpositioning\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F10.positioning",{"title":651,"path":652,"stem":653,"device":6},"Gripper Module","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fcore-gripper\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F20.core-gripper",{"title":655,"path":656,"stem":657,"device":6},"iSWAP Module","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fiswap\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F30.iswap",{"title":659,"path":660,"stem":661,"device":6},"Using TADM","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Ftadm\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F40.tadm",{"title":663,"path":664,"stem":665,"device":6},"Autoload Module","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fautoload\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F50.autoload",{"title":667,"path":668,"stem":669,"device":6},"Waste Block","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fwaste-block\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F60.waste-block",{"title":671,"path":672,"stem":673,"device":6},"Complex Mixing","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fcomplex-mixing\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F66.complex-mixing",{"title":675,"path":676,"stem":677,"device":6},"Teaching Gripper Paddle Positions","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fgripper-positions\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F70.gripper-positions",{"title":679,"path":680,"stem":681,"device":6},"Training a Custom Deck Position With the iSWAP","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fcustom-deck-position\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F75.custom-deck-position",{"title":683,"path":684,"stem":685,"device":6},"Observable Commands","\u002Fliquid-handling-and-robots\u002Fhamilton-star\u002Fobservable-commands\u002F","06.liquid-handling-and-robots\u002F41.hamilton-star\u002F80.observable-commands",{"title":687,"device":6,"path":688,"stem":689,"children":690,"page":51},"Hamilton Vantage","\u002Fliquid-handling-and-robots\u002Fhamilton-vantage\u002F","06.liquid-handling-and-robots\u002F42.hamilton-vantage",[691,695,699,703,707,711],{"title":692,"path":693,"stem":694,"device":6},"Waste Configuration","\u002Fliquid-handling-and-robots\u002Fhamilton-vantage\u002Fwaste-configuration\u002F","06.liquid-handling-and-robots\u002F42.hamilton-vantage\u002F05.waste-configuration",{"title":696,"path":697,"stem":698,"device":6},"Covers and Lights","\u002Fliquid-handling-and-robots\u002Fhamilton-vantage\u002Fcovers-and-lights\u002F","06.liquid-handling-and-robots\u002F42.hamilton-vantage\u002F10.covers-and-lights",{"title":700,"path":701,"stem":702,"device":6},"IDL Module","\u002Fliquid-handling-and-robots\u002Fhamilton-vantage\u002Fidl\u002F","06.liquid-handling-and-robots\u002F42.hamilton-vantage\u002F20.idl",{"title":704,"path":705,"stem":706,"device":6},"IPG Module","\u002Fliquid-handling-and-robots\u002Fhamilton-vantage\u002Fipg\u002F","06.liquid-handling-and-robots\u002F42.hamilton-vantage\u002F30.ipg",{"title":708,"path":709,"stem":710,"device":6},"XL Pipettes","\u002Fliquid-handling-and-robots\u002Fhamilton-vantage\u002Fxl-channels\u002F","06.liquid-handling-and-robots\u002F42.hamilton-vantage\u002F40.xl-channels",{"title":712,"path":713,"stem":714,"device":6},"CO-RE 96 Head","\u002Fliquid-handling-and-robots\u002Fhamilton-vantage\u002Fcore96-head\u002F","06.liquid-handling-and-robots\u002F42.hamilton-vantage\u002F50.core96-head",{"title":716,"device":6,"path":717,"stem":718,"children":719,"page":51},"Agilent Bravo","\u002Fliquid-handling-and-robots\u002Fagilent-bravo\u002F","06.liquid-handling-and-robots\u002F43.agilent-bravo",[720,723,726,729],{"title":628,"path":721,"stem":722,"device":6},"\u002Fliquid-handling-and-robots\u002Fagilent-bravo\u002Ftip-handling\u002F","06.liquid-handling-and-robots\u002F43.agilent-bravo\u002F10.tip-handling",{"title":620,"path":724,"stem":725,"device":6},"\u002Fliquid-handling-and-robots\u002Fagilent-bravo\u002Fbasic-pipetting\u002F","06.liquid-handling-and-robots\u002F43.agilent-bravo\u002F20.basic-pipetting",{"title":302,"path":727,"stem":728,"device":6},"\u002Fliquid-handling-and-robots\u002Fagilent-bravo\u002Fliquid-classes\u002F","06.liquid-handling-and-robots\u002F43.agilent-bravo\u002F25.liquid-classes",{"title":651,"path":730,"stem":731,"device":6},"\u002Fliquid-handling-and-robots\u002Fagilent-bravo\u002Fusing-the-gripper\u002F","06.liquid-handling-and-robots\u002F43.agilent-bravo\u002F30.using-the-gripper",{"title":733,"device":6,"path":734,"stem":735,"children":736,"page":51},"Tecan FluentControl","\u002Fliquid-handling-and-robots\u002Ftecan-fluentcontrol\u002F","06.liquid-handling-and-robots\u002F44.tecan-fluentcontrol",[737,741,745,749],{"title":738,"path":739,"stem":740,"device":6},"Connect & Run a Method","\u002Fliquid-handling-and-robots\u002Ftecan-fluentcontrol\u002Fconnect-and-run\u002F","06.liquid-handling-and-robots\u002F44.tecan-fluentcontrol\u002F10.connect-and-run",{"title":742,"path":743,"stem":744,"device":6},"Low-level Control","\u002Fliquid-handling-and-robots\u002Ftecan-fluentcontrol\u002Flow-level-control\u002F","06.liquid-handling-and-robots\u002F44.tecan-fluentcontrol\u002F20.low-level-control",{"title":746,"path":747,"stem":748,"device":6},"Handling Dialogs","\u002Fliquid-handling-and-robots\u002Ftecan-fluentcontrol\u002Fhandling-dialogs\u002F","06.liquid-handling-and-robots\u002F44.tecan-fluentcontrol\u002F25.handling-dialogs",{"title":750,"path":751,"stem":752,"device":6},"Full Workflow Example","\u002Fliquid-handling-and-robots\u002Ftecan-fluentcontrol\u002Ffull-workflow-example\u002F","06.liquid-handling-and-robots\u002F44.tecan-fluentcontrol\u002F30.full-workflow-example",{"title":754,"device":6,"path":755,"stem":756,"children":757,"page":51},"Tecan Freedom EVO","\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002F","06.liquid-handling-and-robots\u002F45.tecan-freedom-evo",[758,762,765,768,772],{"title":759,"path":760,"stem":761,"device":6},"Deck & Carriers","\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002Fdeck-and-carriers\u002F","06.liquid-handling-and-robots\u002F45.tecan-freedom-evo\u002F10.deck-and-carriers",{"title":628,"path":763,"stem":764,"device":6},"\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002Ftip-handling\u002F","06.liquid-handling-and-robots\u002F45.tecan-freedom-evo\u002F20.tip-handling",{"title":620,"path":766,"stem":767,"device":6},"\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002Fbasic-pipetting\u002F","06.liquid-handling-and-robots\u002F45.tecan-freedom-evo\u002F30.basic-pipetting",{"title":769,"path":770,"stem":771,"device":6},"Using the Gripper (RoMa)","\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002Fusing-the-gripper\u002F","06.liquid-handling-and-robots\u002F45.tecan-freedom-evo\u002F40.using-the-gripper",{"title":302,"path":773,"stem":774,"device":6},"\u002Fliquid-handling-and-robots\u002Ftecan-freedom-evo\u002Fliquid-classes\u002F","06.liquid-handling-and-robots\u002F45.tecan-freedom-evo\u002F50.liquid-classes",{"title":582,"device":6,"path":776,"stem":777,"children":778,"page":51},"\u002Fliquid-handling-and-robots\u002Fbrooks-preciseflex-400\u002F","06.liquid-handling-and-robots\u002F46.brooks-preciseflex-400",[779,783,787],{"title":780,"path":781,"stem":782,"device":6},"Teach Positions","\u002Fliquid-handling-and-robots\u002Fbrooks-preciseflex-400\u002Fteach-positions\u002F","06.liquid-handling-and-robots\u002F46.brooks-preciseflex-400\u002F10.teach-positions",{"title":784,"path":785,"stem":786,"device":6},"Move a Plate","\u002Fliquid-handling-and-robots\u002Fbrooks-preciseflex-400\u002Fmove-a-plate\u002F","06.liquid-handling-and-robots\u002F46.brooks-preciseflex-400\u002F20.move-a-plate",{"title":788,"path":789,"stem":790,"device":6},"Recover from a Stop","\u002Fliquid-handling-and-robots\u002Fbrooks-preciseflex-400\u002Frecover-from-a-stop\u002F","06.liquid-handling-and-robots\u002F46.brooks-preciseflex-400\u002F30.recover-from-a-stop",{"title":294,"device":6,"path":792,"stem":793,"children":794,"page":51},"\u002Flabware\u002F","07.labware",[795,798,802,806,810,814,818,822,826,834],{"title":369,"path":796,"stem":797,"device":6},"\u002Flabware\u002Foverview\u002F","07.labware\u002F00.overview",{"title":799,"path":800,"stem":801,"device":6},"Supported Labware","\u002Flabware\u002Fsupported-labware\u002F","07.labware\u002F05.supported-labware",{"title":803,"path":804,"stem":805,"device":6},"Standard Labware","\u002Flabware\u002Fstandard-labware\u002F","07.labware\u002F10.standard-labware",{"title":807,"path":808,"stem":809,"device":6},"Plates","\u002Flabware\u002Fplates\u002F","07.labware\u002F20.plates",{"title":811,"path":812,"stem":813,"device":6},"Tips and Tip Racks","\u002Flabware\u002Ftips-and-racks\u002F","07.labware\u002F30.tips-and-racks",{"title":815,"path":816,"stem":817,"device":6},"Tubes and Tube Racks","\u002Flabware\u002Ftubes-and-tube-racks\u002F","07.labware\u002F40.tubes-and-tube-racks",{"title":819,"path":820,"stem":821,"device":6},"Troughs","\u002Flabware\u002Ftroughs\u002F","07.labware\u002F50.troughs",{"title":823,"path":824,"stem":825,"device":6},"Carriers and Adapters","\u002Flabware\u002Fcarriers-and-adapters\u002F","07.labware\u002F60.carriers-and-adapters",{"title":554,"device":6,"path":827,"stem":828,"children":829,"page":51},"\u002Flabware\u002Fhamilton\u002F","07.labware\u002F70.hamilton",[830],{"title":831,"path":832,"stem":833,"device":6},"Hamilton MFX Carriers","\u002Flabware\u002Fhamilton\u002Fmfx-carriers\u002F","07.labware\u002F70.hamilton\u002F10.mfx-carriers",{"title":835,"path":836,"stem":837,"device":6},"Shapes","\u002Flabware\u002Fshapes\u002F","07.labware\u002F80.shapes",{"title":839,"device":6,"path":840,"stem":841,"children":842},"Connector Development (CDK)","\u002Fconnector-development\u002F","20.connector-development",[843,845,865,898,922,978],{"title":369,"path":840,"stem":844,"device":6},"20.connector-development\u002Findex",{"title":846,"path":847,"stem":848,"children":849,"page":51},"Getting Started","\u002Fconnector-development\u002Fgetting-started\u002F","20.connector-development\u002F10.getting-started",[850,853,857,861],{"title":369,"path":851,"stem":852,"device":6},"\u002Fconnector-development\u002Fgetting-started\u002Foverview\u002F","20.connector-development\u002F10.getting-started\u002F10.overview",{"title":854,"path":855,"stem":856,"device":6},"What's new","\u002Fconnector-development\u002Fgetting-started\u002Fwhats-new\u002F","20.connector-development\u002F10.getting-started\u002F20.whats-new",{"title":858,"path":859,"stem":860,"device":6},"Installation","\u002Fconnector-development\u002Fgetting-started\u002Finstallation\u002F","20.connector-development\u002F10.getting-started\u002F30.installation",{"title":862,"path":863,"stem":864,"device":6},"Contributing","\u002Fconnector-development\u002Fgetting-started\u002Fcontributing\u002F","20.connector-development\u002F10.getting-started\u002F40.contributing",{"title":866,"path":867,"stem":868,"children":869,"page":51},"Tutorial","\u002Fconnector-development\u002Ftutorial\u002F","20.connector-development\u002F20.tutorial",[870,874,878,882,886,890,894],{"title":871,"path":872,"stem":873,"device":6},"Walkthrough","\u002Fconnector-development\u002Ftutorial\u002Fwalkthrough\u002F","20.connector-development\u002F20.tutorial\u002F00.walkthrough",{"title":875,"path":876,"stem":877,"device":6},"SiLA Endpoints","\u002Fconnector-development\u002Ftutorial\u002Fsila-endpoints\u002F","20.connector-development\u002F20.tutorial\u002F15.sila-endpoints",{"title":879,"path":880,"stem":881,"device":6},"Data Endpoints","\u002Fconnector-development\u002Ftutorial\u002Fdata-endpoints\u002F","20.connector-development\u002F20.tutorial\u002F20.data-endpoints",{"title":883,"path":884,"stem":885,"device":6},"Controls","\u002Fconnector-development\u002Ftutorial\u002Fcontrols\u002F","20.connector-development\u002F20.tutorial\u002F30.controls",{"title":887,"path":888,"stem":889,"device":6},"SiLA Data Types","\u002Fconnector-development\u002Ftutorial\u002Fdata-types\u002F","20.connector-development\u002F20.tutorial\u002F40.data-types",{"title":891,"path":892,"stem":893,"device":6},"Hardware Communication","\u002Fconnector-development\u002Ftutorial\u002Fhardware-communication\u002F","20.connector-development\u002F20.tutorial\u002F90.hardware-communication",{"title":895,"path":896,"stem":897,"device":6},"Build a SiLA client","\u002Fconnector-development\u002Ftutorial\u002Fbuild-a-sila-client\u002F","20.connector-development\u002F20.tutorial\u002F95.build-a-sila-client",{"title":210,"device":6,"path":899,"stem":900,"children":901,"page":51},"\u002Fconnector-development\u002Fconcepts\u002F","20.connector-development\u002F30.concepts",[902,906,910,914,918],{"title":903,"path":904,"stem":905,"device":6},"SiLA","\u002Fconnector-development\u002Fconcepts\u002Fsila\u002F","20.connector-development\u002F30.concepts\u002F00.sila",{"title":907,"path":908,"stem":909,"device":6},"Designing Features","\u002Fconnector-development\u002Fconcepts\u002Ffeatures\u002F","20.connector-development\u002F30.concepts\u002F10.features",{"title":911,"path":912,"stem":913,"device":6},"Designing Endpoints","\u002Fconnector-development\u002Fconcepts\u002Fsila-endpoints\u002F","20.connector-development\u002F30.concepts\u002F15.sila-endpoints",{"title":915,"path":916,"stem":917,"device":6},"Designing Data Types","\u002Fconnector-development\u002Fconcepts\u002Fdata-types\u002F","20.connector-development\u002F30.concepts\u002F20.data-types",{"title":919,"path":920,"stem":921,"device":6},"Connector Architecture","\u002Fconnector-development\u002Fconcepts\u002Farchitecture\u002F","20.connector-development\u002F30.concepts\u002F30.architecture",{"title":923,"path":924,"stem":925,"children":926,"page":51},"Guides","\u002Fconnector-development\u002Fguides\u002F","20.connector-development\u002F40.guides",[927,931,935,939,943,947,951,955,959,963,967,970,974],{"title":928,"path":929,"stem":930,"device":6},"Project Structure","\u002Fconnector-development\u002Fguides\u002Fproject-structure\u002F","20.connector-development\u002F40.guides\u002F10.project-structure",{"title":932,"path":933,"stem":934,"device":6},"Configuration","\u002Fconnector-development\u002Fguides\u002Fconfiguration\u002F","20.connector-development\u002F40.guides\u002F20.configuration",{"title":936,"path":937,"stem":938,"device":6},"Logging","\u002Fconnector-development\u002Fguides\u002Flogging\u002F","20.connector-development\u002F40.guides\u002F21.logging",{"title":940,"path":941,"stem":942,"device":6},"Deployment","\u002Fconnector-development\u002Fguides\u002Fdeployment\u002F","20.connector-development\u002F40.guides\u002F30.deployment",{"title":944,"path":945,"stem":946,"device":6},"Security","\u002Fconnector-development\u002Fguides\u002Fsecurity\u002F","20.connector-development\u002F40.guides\u002F40.security",{"title":948,"path":949,"stem":950,"device":6},"Subscriptions","\u002Fconnector-development\u002Fguides\u002Fsubscriptions\u002F","20.connector-development\u002F40.guides\u002F45.subscriptions",{"title":952,"path":953,"stem":954,"device":6},"Execution Modes","\u002Fconnector-development\u002Fguides\u002Fexecution-modes\u002F","20.connector-development\u002F40.guides\u002F46.execution-modes",{"title":956,"path":957,"stem":958,"device":6},"Constraints and Units","\u002Fconnector-development\u002Fguides\u002Fconstraints-and-units\u002F","20.connector-development\u002F40.guides\u002F47.constraints-and-units",{"title":960,"path":961,"stem":962,"device":6},"Device Variants","\u002Fconnector-development\u002Fguides\u002Fdevice-variants\u002F","20.connector-development\u002F40.guides\u002F48.device-variants",{"title":964,"path":965,"stem":966,"device":6},"Repeated Modules","\u002Fconnector-development\u002Fguides\u002Frepeated-modules\u002F","20.connector-development\u002F40.guides\u002F49.repeated-modules",{"title":318,"path":968,"stem":969,"device":6},"\u002Fconnector-development\u002Fguides\u002Ferror-handling\u002F","20.connector-development\u002F40.guides\u002F50.error-handling",{"title":971,"path":972,"stem":973,"device":6},"Serial Troubleshooting","\u002Fconnector-development\u002Fguides\u002Fserial-troubleshooting\u002F","20.connector-development\u002F40.guides\u002F70.serial-troubleshooting",{"title":975,"path":976,"stem":977,"device":6},"Testing","\u002Fconnector-development\u002Fguides\u002Ftesting\u002F","20.connector-development\u002F40.guides\u002F80.testing",{"title":979,"device":6,"path":980,"stem":981,"children":982},"References","\u002Fconnector-development\u002Freference\u002F","20.connector-development\u002F50.reference\u002Findex",[983,984,988,992,996,1000],{"title":979,"path":980,"stem":981,"device":6},{"title":985,"path":986,"stem":987,"device":6},"Naming Conventions","\u002Fconnector-development\u002Freference\u002Fnaming-conventions\u002F","20.connector-development\u002F50.reference\u002F10.naming-conventions",{"title":989,"path":990,"stem":991,"device":6},"Docstring Format","\u002Fconnector-development\u002Freference\u002Fdocstrings\u002F","20.connector-development\u002F50.reference\u002F20.docstrings",{"title":993,"path":994,"stem":995,"device":6},"Feature Metadata","\u002Fconnector-development\u002Freference\u002Ffeature-metadata\u002F","20.connector-development\u002F50.reference\u002F30.feature-metadata",{"title":997,"path":998,"stem":999,"device":6},"Review Checklist","\u002Fconnector-development\u002Freference\u002Freview-checklist\u002F","20.connector-development\u002F50.reference\u002F90.review-checklist",{"title":1001,"path":1002,"stem":1003,"device":6},"Python Environment and Project Management","\u002Fconnector-development\u002Freference\u002Fpython-environment-management\u002F","20.connector-development\u002F50.reference\u002F99.python-environment-management",{"id":1005,"title":145,"body":1006,"description":1380,"device":6,"extension":1381,"links":6,"meta":1382,"navigation":1383,"path":1384,"seo":1385,"stem":147,"type":1386,"__hash__":1387},"docs\u002F02.how-to\u002F07.automate\u002F37.download-run-diagnostics.md",{"type":1007,"value":1008,"toc":1373},"minimark",[1009,1016,1035,1048,1053,1068,1075,1083,1087,1101,1157,1161,1164,1204,1222,1232,1236,1257,1260,1268,1274,1280,1287,1293,1296,1302,1308,1314,1332,1345,1349,1369],[1010,1011,1012],"p",{},[1013,1014,1015],"strong",{},"Prerequisites",[1017,1018,1019,1023,1026],"ul",{},[1020,1021,1022],"li",{},"UniteLabs platform with API v0.45.0 or later, and app v0.33.0 or later",[1020,1024,1025],{},"A run to troubleshoot, in any state",[1020,1027,1028,1029,1034],{},"API credentials if downloading through the API (see ",[1030,1031,1033],"a",{"href":1032},"\u002Fhow-to\u002Fautomate\u002Fworkflows-api\u002F#authentication","Authentication",")",[1036,1037,1040],"callout",{"color":1038,"icon":1039},"info","i-heroicons-information-circle",[1010,1041,1042,1043,1047],{},"In earlier versions, you can still read a run's logs in the platform UI and retrieve them through the ",[1030,1044,1046],{"href":1045},"\u002Fhow-to\u002Fautomate\u002Fworkflows-api\u002F#execution-timeline-and-logs","REST API",".",[1049,1050,1052],"h2",{"id":1051},"from-the-platform-ui","From the platform UI",[1054,1055,1056,1062],"ol",{},[1020,1057,1058,1059,1061],{},"In the ",[1013,1060,342],{}," list, open the run.",[1020,1063,1064,1065,1047],{},"In the run header, click ",[1013,1066,1067],{},"Download diagnostics",[1010,1069,1070],{},[1071,1072],"img",{"alt":1073,"src":1074},"Run header with an arrow pointing to the Download diagnostics button","\u002Fimages\u002Fautomate\u002Frun-header-download-diagnostics.webp",[1010,1076,1077,1078,1082],{},"The browser saves the archive as ",[1079,1080,1081],"code",{},"diagnostics-\u003Cworkflow>-run-\u003Cindex>.zip",". The button is available in every run state. For a run still in progress, the archive holds all logs up to the moment of download.",[1049,1084,1086],{"id":1085},"via-rest-api","Via REST API",[1010,1088,1089,1090,1093,1094,1097,1098,1100],{},"To download the archive through the API, request the diagnostics of the run. ",[1079,1091,1092],{},"BASE_URL"," and ",[1079,1095,1096],{},"TOKEN"," are set as in the ",[1030,1099,149],{"href":150}," guide:",[1102,1103,1109],"pre",{"className":1104,"code":1105,"filename":1106,"language":1107,"meta":1108,"style":1108},"language-bash shiki shiki-themes github-light-high-contrast github-light-high-contrast github-dark-default","curl -o diagnostics.zip \"$BASE_URL\u002Fruns\u002F{run_id}\u002Fdiagnostics\" \\\n  -H \"Authorization: Bearer $TOKEN\"\n","Terminal","bash","",[1079,1110,1111,1142],{"__ignoreMap":1108},[1112,1113,1116,1120,1124,1128,1131,1135,1138],"span",{"class":1114,"line":1115},"line",1,[1112,1117,1119],{"class":1118},"sNqAu","curl",[1112,1121,1123],{"class":1122},"sOiAX"," -o",[1112,1125,1127],{"class":1126},"sCx38"," diagnostics.zip",[1112,1129,1130],{"class":1126}," \"",[1112,1132,1134],{"class":1133},"sc-9e","$BASE_URL",[1112,1136,1137],{"class":1126},"\u002Fruns\u002F{run_id}\u002Fdiagnostics\"",[1112,1139,1141],{"class":1140},"sxkbv"," \\\n",[1112,1143,1145,1148,1151,1154],{"class":1114,"line":1144},2,[1112,1146,1147],{"class":1122},"  -H",[1112,1149,1150],{"class":1126}," \"Authorization: Bearer ",[1112,1152,1153],{"class":1133},"$TOKEN",[1112,1155,1156],{"class":1126},"\"\n",[1049,1158,1160],{"id":1159},"run-diagnostics-archive-contents","Run diagnostics archive contents",[1010,1162,1163],{},"The downloaded archive contains a manifest including run metadata such as package versions, run id etc. as well as full logs of a run.",[1165,1166,1167,1180],"table",{},[1168,1169,1170],"thead",{},[1171,1172,1173,1177],"tr",{},[1174,1175,1176],"th",{},"File",[1174,1178,1179],{},"Contents",[1181,1182,1183,1194],"tbody",{},[1171,1184,1185,1191],{},[1186,1187,1188],"td",{},[1079,1189,1190],{},"logs\u002Frun.log",[1186,1192,1193],{},"Every log of the run, oldest first: Prefect, the workflow code, the SDK, connectors, and device libraries",[1171,1195,1196,1201],{},[1186,1197,1198],{},[1079,1199,1200],{},"manifest.json",[1186,1202,1203],{},"Tenant, run (status, timestamps, and the parameters it was started with), phases with their Prefect flow runs, failure details, platform API and app versions, packages, runtime image, and log levels",[1010,1205,1206,1207,1210,1211,1214,1215,1218,1219,1047],{},"If the run failed, ",[1079,1208,1209],{},"run.failure"," in the manifest lists the failed phases and steps with the message Prefect recorded, and the first ",[1079,1212,1213],{},"ERROR"," or ",[1079,1216,1217],{},"CRITICAL"," line of ",[1079,1220,1221],{},"run.log",[1036,1223,1226],{"color":1224,"icon":1225},"warning","i-heroicons-exclamation-triangle",[1010,1227,1228,1229,1231],{},"The logs also include all your custom workflow logs. The manifest includes the run parameters exactly as they were entered. Review ",[1079,1230,1200],{}," and your internal logging logic before sharing the archive outside your company.",[1049,1233,1235],{"id":1234},"read-runlog","Read run.log",[1010,1237,1238,1239,1241,1242,1245,1246,1249,1250,1253,1254,1047],{},"Each line of ",[1079,1240,1221],{}," starts with the timestamp, level, and logger, then the scope that emitted it: ",[1079,1243,1244],{},"[run]"," for the workflow outside any phase, ",[1079,1247,1248],{},"[Phase: \u003Cname>]",", or ",[1079,1251,1252],{},"[Phase: \u003Cname> › \u003Cstep>]",", where the step name can start with ",[1079,1255,1256],{},"Step:",[1010,1258,1259],{},"Timestamps are in UTC, in ISO 8601 format with millisecond precision. A message that spans several lines continues on lines indented by a tab.",[1102,1261,1266],{"className":1262,"code":1264,"filename":1190,"language":1265,"meta":1108},[1263],"language-text","2026-11-02T08:57:30.725Z INFO     prefect.flow_runs [Phase: Instrument Initialization-0] INSTRUMENT INITIALIZATION\n2026-11-02T08:57:30.742Z INFO     prefect.task_runs [Phase: Instrument Initialization-0 › Step: Create and Connect Liquid Handler-db4] Creating liquid handler (simulation=False)\n","text",[1079,1267,1264],{"__ignoreMap":1108},[1010,1269,1270,1271,1273],{},"Entries for the workflow outside any phase use the scope ",[1079,1272,1244],{},":",[1102,1275,1278],{"className":1276,"code":1277,"filename":1190,"language":1265,"meta":1108},[1263],"2026-11-02T08:57:30.294Z INFO     prefect.flow_runs [run] Beginning flow run 'exotic-porcupine' for flow 'Workflow: Connectivity Loop'\n2026-11-02T08:57:30.325Z INFO     prefect.flow_runs [run] phases: star_motion=True dummy_pipetting=True bioshake=False cycle_gate=True\n2026-11-02T08:57:30.441Z INFO     prefect.flow_runs [run] UniteLabs packages: {\"unitelabs-labware\": \"0.40.0\", \"unitelabs-liquid-handling\": \"0.42.0\", \"unitelabs-sdk\": \"0.20.0\"}\n",[1079,1279,1277],{"__ignoreMap":1108},[1010,1281,1282,1283,1286],{},"Commands from the liquid handling and labware libraries come from ",[1079,1284,1285],{},"unitelabs.*"," loggers. They give the command name and its arguments as JSON:",[1102,1288,1291],{"className":1289,"code":1290,"filename":1190,"language":1265,"meta":1108},[1263],"2026-11-02T08:57:34.472Z INFO     unitelabs.hamilton.pipettes [Phase: Instrument Initialization-0 › Initialize Device-48c] ChannelsProtocol get_initialization {\"channel\": 0}\n",[1079,1292,1290],{"__ignoreMap":1108},[1010,1294,1295],{},"The entry records the call, not the value the command returns. The result shows up in the messages of the workflow code that follow, and in the state the step finishes in:",[1102,1297,1300],{"className":1298,"code":1299,"filename":1190,"language":1265,"meta":1108},[1263],"2026-11-02T08:57:36.646Z INFO     unitelabs.hamilton.core96 [Phase: Instrument Initialization-0 › Clear Stale Core96 Tips-988] CoRe96 (CO-RE 96) has_tips_fw {}\n2026-11-02T08:57:36.646Z INFO     unitelabs.hamilton.core96 [Phase: Instrument Initialization-0 › Clear Stale Core96 Tips-988] CoRe96Protocol get_tip_presence {}\n2026-11-02T08:57:36.699Z INFO     prefect.task_runs [Phase: Instrument Initialization-0 › Clear Stale Core96 Tips-988]   - Core96 tip flag clear: OK\n2026-11-02T08:57:36.701Z INFO     prefect.task_runs [Phase: Instrument Initialization-0 › Clear Stale Core96 Tips-988] Finished in state Completed()\n",[1079,1301,1299],{"__ignoreMap":1108},[1010,1303,1304,1305,1273],{},"Warnings use the same format with the level ",[1079,1306,1307],{},"WARNING",[1102,1309,1312],{"className":1310,"code":1311,"filename":1190,"language":1265,"meta":1108},[1263],"2026-11-02T08:57:31.718Z WARNING  prefect.task_runs [Phase: Instrument Initialization-0 › Disable Cover Control-ddd] Cover control disabled\n",[1079,1313,1311],{"__ignoreMap":1108},[1010,1315,1316,1319,1320,1323,1324,1327,1328,1331],{},[1079,1317,1318],{},"DEBUG"," entries are present only when the run was started with ",[1079,1321,1322],{},"SDK_LOG_LEVEL=DEBUG"," (SDK, connectors, and device libraries) or ",[1079,1325,1326],{},"PREFECT_LOG_LEVEL=DEBUG"," (Prefect and workflow code). The ",[1079,1329,1330],{},"logLevels"," in the manifest are the job variables at the time of the download, so they can differ from what the run used if its deployment or work pool changed in the meantime.",[1036,1333,1334],{"color":1038,"icon":1039},[1010,1335,1336,1337,1340,1341,1344],{},"The UniteLabs package versions (",[1079,1338,1339],{},"versions.unitelabsPackages",") are reported by the SDK when a workflow starts, in SDK releases after 0.19.0, as an ",[1079,1342,1343],{},"INFO"," log entry: a run on SDK 0.19.0 or earlier does not record them.",[1049,1346,1348],{"id":1347},"next-steps","Next steps",[1017,1350,1351,1356,1362],{},[1020,1352,1353,1355],{},[1030,1354,354],{"href":355},": log levels, loggers, and what the platform records automatically",[1020,1357,1358,1361],{},[1030,1359,1360],{"href":150},"Workflows and runs via REST API",": read and filter a run's logs through the API",[1020,1363,1364,1368],{},[1030,1365,1367],{"href":1366},"\u002Fsupport\u002F","Help and support",": where to send the archive",[1370,1371,1372],"style",{},"html pre.shiki code .sNqAu, html code.shiki .sNqAu{--shiki-light:#702C00;--shiki-default:#702C00;--shiki-dark:#FFA657}html pre.shiki code .sOiAX, html code.shiki .sOiAX{--shiki-light:#023B95;--shiki-default:#023B95;--shiki-dark:#79C0FF}html pre.shiki code .sCx38, html code.shiki .sCx38{--shiki-light:#032563;--shiki-default:#032563;--shiki-dark:#A5D6FF}html pre.shiki code .sc-9e, html code.shiki .sc-9e{--shiki-light:#0E1116;--shiki-default:#0E1116;--shiki-dark:#E6EDF3}html pre.shiki code .sxkbv, html code.shiki .sxkbv{--shiki-light:#A0111F;--shiki-default:#A0111F;--shiki-dark:#FF7B72}html .light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html.light .shiki span {color: var(--shiki-light);background: var(--shiki-light-bg);font-style: var(--shiki-light-font-style);font-weight: var(--shiki-light-font-weight);text-decoration: var(--shiki-light-text-decoration);}html .default .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .shiki span {color: var(--shiki-default);background: var(--shiki-default-bg);font-style: var(--shiki-default-font-style);font-weight: var(--shiki-default-font-weight);text-decoration: var(--shiki-default-text-decoration);}html .dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}html.dark .shiki span {color: var(--shiki-dark);background: var(--shiki-dark-bg);font-style: var(--shiki-dark-font-style);font-weight: var(--shiki-dark-font-weight);text-decoration: var(--shiki-dark-text-decoration);}",{"title":1108,"searchDepth":1115,"depth":1144,"links":1374},[1375,1376,1377,1378,1379],{"id":1051,"depth":1144,"text":1052},{"id":1085,"depth":1144,"text":1086},{"id":1159,"depth":1144,"text":1160},{"id":1234,"depth":1144,"text":1235},{"id":1347,"depth":1144,"text":1348},"Download a run's log, parameters, and version information as a .zip to send to support.","md",{},true,"\u002Fhow-to\u002Fautomate\u002Fdownload-run-diagnostics",{"title":145,"description":1380},"howto","DEXJYJObs8d84AvzvqN5aBBqjBX5Nwyj6SmHDTVnp2s",[1389,1391],{"title":141,"description":1390,"path":142},"Trigger a workflow run from the platform UI, the UniteLabs SDK, or the REST API.",{"title":149,"description":1392,"path":150},"Register, manage, and trigger workflows programmatically using the UniteLabs REST API.",1793780967771]