Passing a device between parent and child app

I have a situation in which an App and one of its child apps both need to access a virtual device. The device gets created by the child App as a child device. I'm trying to avoid making the user go in and select the device in the parent App. Partly, I want to simplify the process for user. More importantly, I don't want to have to deal with the potential error conditions that could result if the user picks the wrong device so the parent and child are not actually accessing the same device. Is there a way to programmatically pass a reference to the device from the child App to the parent?

I know that Apps cannot normally access a device unless the user has explicitly given the App access or the App created the device. I am hoping that there is some exception to that for parent and child Apps.

There is no direct way to access selected devices in a parent or child app from the other (I think...I haven't ever directly tried accessing the settings map but assume it doesn't work and don't recall seeing this anywhere else, either), but you still have options. Parent and child apps can call each other's methods, so you could write one that simply returns the desired device(s) and then call whatever methods/commands on it that you want. Alternatively, you could create a command in the child app that just performs whatever command you want and call that from the parent device.

I can throw an example together quick if these general ideas aren't helpful, but something like that is what you need.

Thanks. This got me moving in the right direction and this thread got me the rest of the way to something that worked. I put the following code in my child app, which created the device: get_status_device() { status_device = getChildDevice(atomicState.status_DNI)
return status_device
The parent app was able to call this function to get a reference to the device and then use that reference to call a method of the device. I haven't tried having the parent subscribe to attributes of the device yet, but I have no reason to think that won't work.