Error 500 when trying to create child app

Error 500 attempting to load child app. No log entries show for the error.
Need some help finding the error?
image

I cant say if this is related but in most cases for HE the parent app needs to be properly initialized before configuring child apps. I have forced users to click on done the first time loading my apps. They can then reopen the created parent app and start child configs.

In your case install the parent....click done to initialize it. Then open the app and try configuring child devices.

Thank you for the suggestion. However, I already have one child app working, but another is failing.

Is the error occurring while trying to create the child app...or has it already been created and you are trying to load it?

Creating. It's been loaded into apps and I click on the text to set the child profile

Post the code..or at least the child creation snippet?

is that the parent app or the child app?

I skimmed it and there are calls to "parent" so I assume it's the child. I dont see any declaration of the parent though so I cant tell for sure.

Now that the master @chuck.schwer is involved, I'll step back so as not to confuse things.

1 Like

child

echoing what stephack said above.. you are missing the parent in the definition section.

:stuck_out_tongue::rofl:

Thank you Chuck & @stephack. That was the problem. Somehow ST works without it. :roll_eyes:

While I have your attention the following are not working in HE. Any workarounds?
Error: Command 'getModelName' is not supported by device.
Error: Command 'getManufacturerName' is not supported by device.

You either have to implement those methods and define them as commands in your driver, or remove the calls to those methods from your App.

Ugh! Is that info available in the device definitiion?

Hmm I see this manufacturer in real devices, but I'm testing a virtual device. Can I somehow get to it?
image

Yeah, it depends on the device and the driver..

If you are writing your own driver, then yes, you can get it out of data ie: getDataValue("model") but it would have to be populated.. and if it's a virtual device, I don't know what you would need model and manufacturer for?

So on a real device would device.manufactuer or device.model work? I could easily code something like
if (it.model && it.model =='1234')
of
if (it.manufacturer && it,manufacturer == 'Centralite')

close, you have to access it like I wrote above, device.getDataValue("model") .. it should return null if the data value is not set.

Also, with the equals operator you don't need the first check in your if statement, it is ok just to do:
if (it,getDataValue("manufacturer") == 'Centralite')

2 Likes

@chuck.schwer, are there any downsides to doing device .data.model instead? That is how I've been coding it in my drivers but can change to your above reference if it's more efficient.

1 Like

Nope, either way is fine.

2 Likes