Show and Tell March Edition

I am working on a Smart Master Bathroom. There is a one single gang wall plate that houses a Z-Wave controller that controls everything: two vanity lights, an overhead heater, a spa light, a toilet light, a humidity controlled exhaust fan, and depending on the time of day coupled with motion either an overhead light or a night light. There is a heated floor that is temperature controlled with a schedule. The spa heater is controlled by touching the motion sensor. The wiring is all most complete and the Smart App and device drivers are in the final stages.


Been really busy with ST this year!

  • Connected my closet light to turn on depending door status. “Refrigerator light” as my dad calls it. It’s my first true automation that’s not a timer.
  • Expanding ST to more devices: Another lamp, as well as an air purifier that turns on at night.
  • Learning SmartApps: So far have been working on something I call the “I’ll be back button”. Essentially what it does is when a button is pressed, all lights will turn off on a room. When motion is detected, it’ll turn the same lights back on. Great power management! It works, I just need to polish it up, then I’ll release on the community.
  • Getting started with Device Types, not sure exactly what I’ll integrate, but excited.
  • Got an Arduino ThingShield, mostly just for messing around. Maybe I can create something fun.

I am working on voice control (Alexa, Siri via HomeKit) and voice notification (thank you @ule ) through DLNA speakers.

Besides device control and status report, his includes timed and event based notifications. ( the kids can ask Siri if it is time to go to bed and the “house” will answer, the speakers in the house announce when the door bell is ringing…

1 Like

I’ve been working hard on my Ecobee 3 SmartApps and Device Handlers. I’ve finally gotten the authentication token handling to be rock solid. It even automatically recovered this morning from server maintenance on the Ecobee servers this morning.

Started the project back in December and now have over 265 installed users.

And now I’m researching the automation of my whole home audio system (Legrand On-Q). It only handles IR inputs at the keypads, so looking at the iTach Flex boxes to use for integration. These little guys have HTTP APIs (the other iTach products just used CSV commands).


Integration of smartthings connected devices with a Zultys IP telephone system’s IVR.
So far, I can turn on a lightbulb. Maybe next, read a thermostat in the data center.
Who knows where this will lead. Press 1 to …


I have a wrought iron gate that the car remotes fail to work when it’s raining. Fortunately, a manual override button still works, but who wants to get wet to push it? Using a z-wave relay switch (FS20Z-1) that I connected to the override button terminals, I am now able to use SmartThings to open the gate, if needed and I don’t even have to be at home.


Created a device handler that triggers my front door light on when my Ring doorbell detects a new motion (via IFTTT). The handler then turns the light off after 60 seconds. Also have it configured to only turn the light on after Sunset and before Sunrise. Very reliable so far.

I decided it is time to dive into my first Groovy coding attempt (I have 25+ years of proprietary language coding experience, but no Java-like languages) with the intent of contributing to the community while having some fun with my 4 month old hobby/obsession named SmartThings! :smile:

So, after looking through the 70+ devices I have that work with ST I realized I needed more of a challenge than simply changing an existing program… I needed something that was going to force me to actually learn how ST communicates. So, I took something that did not work well with ST… my Amcrest 720P PTZ Camera! Yes, there are some excellent camera device types out there already, but I wanted one tailor made to this camera and its feature set.

So, using the excellent work done by @pstuart on his “Generic Camera” device type as a teaching guide (thank you Patrick!), as well as reading hundreds of his messages, as well as other honorable mentions (@slagle, tgauchat, eparkerjr, scottinpollock, RBoy, etc.) I spent the past week and a half playing with Groovy and I am almost ready to release my first device type…

Amcrest Camera

Here are the features I have built-in thus far:

  • Accepts Local IP:Port and PublicHost:Port input
  • Accepts Username & Password input
  • Takes pictures (Duh!)
  • Has PTZ control (Left/Right/Up/Down/Zoom In/Zoom Out)
  • Allows enabling of the “Night Vision” Mode (Off/On/Auto)
  • Allows toggling of the “Motion Sensor” Mode (Off/On)
  • Access to 4 Camera Presets
  • Mirror Image Mode
  • Flip Image Mode
  • Remote Camera Reboot
  • Verbose Debugging Toggle

Things I am still working on:

Exposing the picture taken from the device to other ST apps.
Trying to allow the camera’s motion sensor working as a capability for alerting in ST apps.
Any other feature requests?


Check with @RBoy ; he’s got a creative way to add an Attribute that encodes a snapshot JPEG as a encodeBase64 String. We love the concept at SmartTiles, as a way to display stop motion video…

1 Like

Thank you for that tip @tgauchat !

I am already using the excellent snippet of code that both @cosmicpuppy and @RBoy worked on (convertHostnameToIPAddress). I will have to see if I can dig the JPEG code up in the threads.


@Belgarion FYI @cosmicpuppy is @tgauchat (re-branding).

Here’s the code you can use to “share” the image with other SmartApps. Once you’ve extracted the raw jpeg byte stream from the httpGet or hubAction response you can use this to save the image to the ST cloud and send it to other apps to consume.

// Save the image to the S3 store to display
def saveImage(image) {
    log.trace "Saving image to S3"

    // Send the image to an App who wants to consume it via an event as a Base64 String
    def bytes = image.buf
    //log.debug "JPEG Data Size: ${bytes.size()}"
    String str = bytes.encodeBase64()
    sendEvent(name: "imageDataJpeg", value: str, displayed: false, isStateChange: true)

    // Now save it to the S3 cloud, do this in the end since it removes the data from the object leaving it empty
    storeImage(getPictureName(), image)

    return null

private getPictureName() {
    def pictureUuid = java.util.UUID.randomUUID().toString().replaceAll('-', '')
    "image" + "_$pictureUuid" + ".jpg"

The SmartApps need only subscribe to the attribute imageDataJpeg from your device handler (SmartTiles is testing this in BETA). The SmartApp can reverse the encoding from base64 back to byte[] using:

byte[] imageBytes = encoded.decodeBase64()

Thank you @RBoy! Awesome work… and very much appreciated!

ps. I am sure @tgauchat will forgive the naiveté of a relative noob. :wink:

1 Like

I recently created device handlers for the Aeon Doorbell and the Aeon Siren.

I’ve also been building a SmartApp that allows you to view devices by capability, view the last time devices have had events, and receive notifications based on Temperature, Battery, and/or Time Since last Event.

I have similar issue with my gate control. There is a toggle switch inside the house. It is 100 ft away from the gate controll where there is no connectivity with closest zwave smarthing. Is it possible to have a zwave toggle switch to controll low voltage gate override (up position always open, down position gate closed)

@StrykerSKS did you ever find any information on the Legrand On-q whole home audio with home automation. I have a new build with the Legrand On-q (4 areas), plus the Aux hookup (have a Google audio chromecast hooked up to it). Your post is the only placed I have seen someone else speak of the Legrand whole home audio system with ST.


Any update on this? I too have a new build with Legrand On-q (all the big home builders use it) … it hooks to my LAN so there must be a way…

If you tap on the user name, you will see that @StrykerSKS hasn’t been on the forum for some time: Last Post Nov 4, '17, Seen Apr 4 of this year. You might be out of luck…,

I never heard anything and have not been able to integrate into smartthings

Sorry folks. Never got a notice on the original post.

I searched and searched but never found a solution to integrate. I finally gave up.


Thanks for trying :slight_smile:

1 Like