Creating an interface on my own device so Smart Things can control it

I have a device that I can create TCP and UDP Packets on my local LAN and receive and send some data on, though its not a Windows/Arduino/etc type device so none of the built-in discovery/SSDP/UPNP/HTTP, etc is in available and I don’t really want to invent those on this device.

Is there another way that I can create a SmartApp that can search specifically for this device by known IP and have my own protocol for setting and getting data back and forth?

I can Translate any language to what my device supports. So I was looking for some sample code that is more bare bones in terms of the low level packet interaction between the SmartApp and the End Device.


There are likely to be much more experienced and accurate answers, but I’ll risk a quick answer:

You can avoid “discovery” (i.e., SSDP/UPNP) if you are not planning on publishing the Device Type, since you can create the Device Instance manually (via the web API/IDE) and assign the IP address manually.

The IP based protocols of the Hub, however, are currently very limited … essentially, only HTTP(S) is supported.

Search :mag: for UDP and Telnet and you’ll find some discussions of partially successful and/or failed attempts.

1 Like

Its a Siemens S7 PLC. They have a Webserver in them that can support Java, though they also have other programming languages. I’ve written a UDP Driver for it so I can send it data and have it parse the packets and do what I need it to so, return data, set data, etc. I also have a Low Level Driver for a PC/Mac that communicates directly to the S7 PLC and can set/get data. None of it is HTTP. Was hoping to get more at the low level and write something. So how does the WeMo or other LAN based devices connect, the WeMo Switches have a Web Server in them?