Is this a no-no? I have a server that commands a number of things in my house that SmartThings can’t. I would like to set up several device types for this that would have different On/Off capabilities within SmartThings i.e. Device 1 = Whole House On/Off, Device 2 = Media Playback On/Off, Device 3 = Entertaining Scene 1 On/Off, etc.

But the device for each of these types would of course have the same networkID. Will this confuse SmartThings or does it not care?

One possible solution to your problem is a “Service Manager” app that handles all communication with your server. I believe this is a “proper” way to integrate 3rd party systems that include multiple devices behind a single IP address. The app creates slave devices dynamically and devices don’t talk directly to the server. Instead they call the parent app to do all the talking. This is how my X10 bridge works.

I believe this is a “proper” way to integrate 3rd party systems that include multiple devices behind a single IP address

Well, it really is only one device; a GC iTach. But I would prefer to map the controls of each IR controlled component in separate devices rather than mapping the controls of all 8 of them to a single device.

Never wrote a service manager before, but the last time I looked into it I gave up.

So what? You need to create ST device types for each device you’re going to control anyway. Your service manager app should allow user to choose what type of slave device to instantiate. Writing SmartApp UI is the biggest challenge for me, because it’s so wonky.

Really don’t need much of a UI; I use iRule to control this stuff day to day. Plus a UI in SmartThings for an HT pre/pro with dozens of functions would be a nightmare.

Just need to map the functions I want automated control of so I can use SmartThings events and get endpoints to mute/pause for things like Tasker to hit when the phone rings, etc. For me, the big honkin device type is doable; but I am afraid I’d run out of tooth enamel long before I got a service manager working.

Sure, it would work, but what if you want to control multiple devices, like TV and receiver. Both of them have mute() function. How do you differentiate which device you want to mute, assuming that you implement capability.musicPlayer in your device? I guess you could use custom commands and attributes, but then they would only be known to custom apps. A generic app would not be able to take advantage of your device type. Just a thought…