I’m trying to add a new device. I’ve created the device file (D_device.xml), the service file (S_device.xml) and a JSON file (D_device.json). The device file of course specifies the file and it also specifies two services. One is the device service S_device.xml and the other is the HaDevice service S_HaDevice.xml. I can create devices using these files but when attempting to activate a button specified in my device JSON file I get an error: ERROR: invalid service. If I look at the user data (http://:3480/data_request?id=user_data) I can see my created device in the list of devices but the list of ControlURLs within that device does not include my device service. It only includes the HaDevice service. Any idea why I’m seeing the error and missing the ControlURL?
Have you actually defined the service actions in an implementation file, I_xxx.xml?
Why do you care that the URLs are missing? … you’re planning on using actual UPnP?
The created device is a child device. There are device files and service files for other devices that are children of the parent device. Those files do not specify any implementation files. I don’t have any of those devices so I don’t really know if those files are correct. Does the implementation file of the parent device somehow get used by its children without being specified in the child’s device file?
Yes, if either the device or implementation file of the parent specifies the [tt]handleChildren[/tt] flag, but it does also actually have to implement the particular action call.
OK, the device file for the parent does include the handleChildren flag. I have added implementation for actions needed by the child. I’ll have to review them to see if something is incorrect.