Thingshield replacement for arduino over zigbee now available for hubitat

I recently developed a replacement for the old ThingShield that used to be available for SmartThings. It lets you send/receive arbitrary commands from an arduino, over zigbee. See here:

I'm happy to say it now works just as well for Hubitat!
Here is the driver code:

I have some available to try out now. Just private message me on this forum if you'd like to get one (or more) for a $15 donation (each).


Out of that including shipping and are you accepting donations through PayPal or some other method? I am willing to bet those will be your top two questions. :smiley:

Amazing work BTW!! I got into Arduino stuff after the ThingShield was already discontinued so I never got to play with one. Been tinkering with how to build one out of an Xbee but never had the time to learn MicroPython. :wink: Great work!!

As far as software for the Arduino side of it a static sketch? Or is it configurable? Or will it just come pre-loaded?

To simplify things I made an eBay item:

So the 15$ would not include shipping. But it's only a few extra bucks.

The arduino side is up to you. No arduino is included. There is a sample arduino sketch available...
as discussed in the documentation...

You don't even have to use an arduino. Anything that can talk serial (raspberry pi, computer with USB adapter, etc.) could easily talk with it.


Thanks for the Ebay listing! Bought one. I needed an excuse to play with Arduino! Thanks @haas!


@haas - I received my HaasTI ZigBee Switch yesterday. I decided to keep things as simple as possible for right now, so all I did was plug in power to the microUSB port on the board (i.e. no Arduino/UART Serial communications for right now.) I am happy to report that the board was discovered properly by my development Hubitat hub using the driver you linked above in the first post. I am able to control each of the 4 digital outputs without any issue. The two digital inputs worked fine, as well as the 4 analog inputs.

I have not monitored the UART pins yet for serial traffic, but so far, so good! Great job and very professional looking and built board.

If you are open to some enhancement on the Groovy Side, I will be creating a Composite Device Driver for this little board which will make it fit into the Standard Capabilities available on Hubitat (and SmartThings.) This will make it easy to treat each digital output as an independent "Switch" device, the 4 analog inputs as "Voltage" devices, and the two digital inputs as either "Contact Sensor" and/or "Button" devices.

Again - great work on this!!! Thank you!


$33.61 shipping to Thailand.
Sigh :cry:

1 Like

The original SmartThings "ThingShield" was about $35 in the USA.

EDIT: Corrected original price. Thanks @ritchierich for the data!

1 Like

Can you check again? I changed the international shipping method on ebay.


Woop woop! 15 bucks shipping now. I will order some to play around with. Cheers!

Actually $35 :grin: when I bought mine. Was curious and found the old email from 2015:

1 Like

Wow, has it really been that long? :wink: I think I bought my ThingShields back in 2014.


BTW - I have an upgraded driver for @haas's thingshield replacement board that I would appreciate having someone else take for a test drive before I release it to the wild. My version creates 4 child switch devices, 2 child contact sensor devices, and 4 child temperature sensor devices (since child voltage devices do not yet exist.) I am utilizing Hubitat's built-in 'Generic Component ...' drivers for the child devices, as this greatly simplifies code installation and maintenance (i.e. you only need the parent driver!) If anyone is interested in helping with the testing, private message me.


1 Like

Yeah scary. Got into HA in summer of 2014 with purchase of ST. I bought my first ThingShield in May 2015.

I just want to say this is very exciting and thanks to the OP for creating this. I just picked one up myself. I made a garage door controller out of the original ThingShield which has served me wonderfully for the past 4 years. Looking forward to the many new opportunities this will bring!


For anyone who wants to give my 'HaasTI Zigbee Parent' driver a try, here is my first ALPHA release.

This driver is for the board by itself. I did implement a custom command called 'sendCommand(String)' which allows you to send whatever string you'd like (up to 14 characters, I believe) if you want to mess around using the UART. It currently does not handle any responses that an attached microcontroller might reply with over the UART/Serial connection.

I have exposed most, if not all of the configuration parameters as user preferences. I also added linear conversions for each of the analog inputs to make those a little more 'engineering unit' friendly. The analog inputs all end up in Child Temperature devices for now, since there is no 'Generic Component Voltage Measurement' driver in Hubitat, yet. The 4 digital outputs are exposed as 4 Child Switch devices. The two digital inputs are exposed as a pair of child Contact Sensor devices, as well as by outputting Button Pushed events for Button 1 and Button 2.

Please provide feedback on your results and enjoy!


Couple of quick questions.

1 set up a rule to send text to the Haas Shield and I get an error in the log.

also in the device page in Hubitat there is no way to edit the text string it always passes arduino1

2 when I'm in the Arduino IDE serial monitor and type in on1.
it looks like its being passed to the shield as
and all the DO turn on.

3 Dan did you pull your driver? Links no longer work.

I love this shield the ideas are endless.


I think these are mostly driver questions for Dan. (Though I'll try to help once I get a chance if need be.)
For the serial monitor, the line returns are always a weird issue across different platforms. I think there's maybe a way to change them in the arduino ide or serial monitor. It's just the way the text is displayed (echoed) in the monitor. It still works fine, as you see.

Not sure what happened to the link. I have edited my post above, and the new link seems to work for me. Give it another try, please.

Dan's driver is more complete and superior to my original, which was just meant to show basic functionality. His has the sendcommand command that lets you send a string of your choice (up to 14 bytes).

Thanks Dan and Andy!
Working great. This is going to be so much fun to play with.

One of my projects is going to be a Mona Lisa based UPS for my hub.
Adafruit 500mA Powerboost with a 1400mAh LIPO.
The Mona Lisa can tell the hub when it loses power and then shut down when the battery is low.


At some point, I will work on a new HubDuino Parent Driver for the HaasTI/MonaLisa. I just haven't found the time to sit down and work on that yet. I believe I have the essential building blocks, just need to put them altogether.

@haas - What is your official name for this board/shield? I just want to make sure I use the correct wording in any drivers/documentation that I create.

1 Like