Ok, I'm diving in on this.
I couldn't find any info on how to get the hub to allow me to send data from a non-existent device via the local proxy connection. So, the way that NodeProxy server works is that the SmartApp asks the proxy what the config is, and it sends it to the Hub via the local proxy connection and then based on that data, the devices are created.
Here's where I am thus far: test.groovy ยท GitHub
Line 83 sets the subscription to the IP and port to the Hubitat box.
And see this in the logs on the hub:
Received data from 192.168.1.78, no matching device found for 192.168.1.78, C0A8014E:XXX, B827EBAXXX or C0A80XXX.
192.168.1.78 is the NodeProxy server. Here is the data that the hub SHOULD have received and processed (info about my alarm):
{"type":"discover","partitions":[{"partition":1,"name":"Honeywell Security Panel"}],"zones":[{"zone":1,"type":"smoke","name":"Smoke Detector"},{"zone":2,"type":"contact","name":"Front Door"},{"zone":3,"type":"contact","name":"Garage Door"},{"zone":4,"type":"contact","name":"Back Door"},{"zone":5,"type":"contact","name":"Foyer Motion"},{"zone":6,"type":"contact","name":"Master Motion"},{"zone":7,"type":"contact","name":"Master Glass"},{"zone":8,"type":"contact","name":"Kitchen and Dining Glass"}]}
It's almost like I need to add a parent device with the IP of the NodeProxy device in order to be authorized to create child devices. Not sure how to do this or how this differs from how ST Hub worked.
I believe it has something to do with this and being able to subscribe to local LAN events.
subscribe(location, null, lanResponseHandler, [filterEvents:false])
Something similar to this: Receiving notifications from LAN devices
It appears from that that the App has to create a Child Device with the deviceNetworkID (MAC or IP) of the proxy server before other child devices can be created.
Maybe @chuck.schwer or @patrick have an idea of what needs to be changed in the ST code.
Brian