Are you seeing this error when uploading a protocol to your robot? The basic structure of protocols changed in APIv2 and if your robot software is too old, it will mistakenly see these new protocols as empty.
If you didn't write the protocol yourself:
Don't worry, the protocol probably has steps in it, and updating the robot software so it can understand APIv2 protocols should resolve the issue.
Update your App and the Robot to the most current version of the Opentrons software.
Verify that the robot is running a server version greater than 3.14.0
If the error persists after updating your robot, contact Opentrons Support and send us the protocol file causing the error (and tell us where you found it!).
If you wrote the protocol yourself:
In addition to ensuring your robot software is up to date, you should double check your protocol for other syntax errors. Sometimes an unexpected indent or another syntax error can cause the robot to miss the required
run(protocol) function or
metadata variable. See the API documentation for more information on the required syntax for APIv2 protocols.
The API also requires you to have an executable step in your protocol to run on the robot. Any command that moves the pipettes will satisfy this requirement. If the robot still thinks the protocol is empty even though you are able to successfully simulate it, try including a
protocol.comment("message") in your code.