It was a good idea to create the get_object_from_names function as a wrapper for the waitForObjectExists. If it is created as a wrapper for this function call, shouldn't we use that? If you do not plan to use it (or have any issues), please remove the get_object_from_names function.
lets try and avoid using the occurrence property and instead get the parent object which should be a TouchGrid qml component then find the children and find the object in the grid by testing theText property of the child object "Export Logs"
Better to home BP on your way out of previous state so you don't have to use a cmd issued flag. Ejector should already be retracted, so I see no reason to home the ejector here. You should also zero the autoEjectTimerCounter too.