In addition to what JD has posted above, there are many other methods which have been explored in other community discussions. For example, you could use an ESP8266 board (~$10) which can be programmed via the Arduino IDE and has built-in WiFi. This could then be connected to the ST cloud via the Hub as shown in this discussion:

[RELEASE] Absolute Simplest ESP8266 Smart Blinds, no mqtt, rest, bridge, or broker, just your board and your hub Community Created Device Types This is my fourth and final code to control window blinds in SmartThings with a NodeMCU ESP8266 chip and a servo. Why my fourth try? Because all of my other attempts involved setting up a RaspberryPi, configuring Home Assistant, an MQTT broker, SmartThings MQTT Bridge, configuring paths, etc, etc... All I wanted was for it to JUST WORK! But at the end of every attempt I still had the same issues: Stability and Delays. So here we are with my fourth attempt: Absolute Simplest ESP8266 Smart Blinds. Using just a micro web server on the ESP8266 and a simple HTTP GET command in SmartThings, response time is almost instantaneous and there's no middle point of failure or complication. Intended for a standard servo (not a continuous rotation servo) and amount of tilt degrees are comment…

Others have implemented cloud-to-cloud integration via IFTTT or Particle.

Still others have tackled full bi-directional Ethernet communications via the hub, as show in:

How to send data from my LAN connected device to HubV2? Writing Device Types Hey everyone! I'm trying to setup a situation where my LAN connected device (Raspberry Pi) can send notifications to SmartThings HubV2 when it detects events (Motion, Network Traffic, etc). But I'm having trouble figuring out where to send messages to FROM my Raspberry Pi (preferable via HTTP). The best documentation I could find was here: https://github.com/SmartThingsCommunity/Documentation/blob/master/cloud-and-lan-connected-device-types-developers-guide/building-lan-connected-device-types/building-the-device-type.rst#subscribing-to-device-events But that just tells me how to subscribe to upnp events. Any ideas on how to subscribe to HTTP callbacks?

At this point, I am not sure why one wouldn’t simply run an OAUTH SmartApp that exposes everything you want from the ST Cloud (including virtual devices that represent the physical devices attached to your local Arduino, Raspberry Pi, ESP8266, etc…) Then you simply have your micro-controller update everything bi-directionally.

Once upon a time, we were promised local control on the v2 Hub for our own custom code. A year+ later, and the Bluetooth and USB are still not enabled. I’ve given up hope for having the ability to run my own local code on the hub. Therefore, it is probably just best to bypass the local hub and talk directly to the ST cloud from your own device.

Very sad to hear ST has discontinued the ThingShield. This was one of the major reasons I chose the ST platform.