[RELEASE] TCP Connected bulbs work with SmartThings Again!

I tried removing the port and still not finding my bulbs :frowning:

Do you need to have a Smarthings Hub/Gateway to use the TCP lights with Alexa?

Is there any step by step guide starting with how to downgrade the TCP hub firmware?

Thank you very much!

Yes, you need the SmartThings hub and TCP hub to use the lights with Alexa.


sorry for the long reply :slight_smile:
virgin hub v3
any help much appreciated :slight_smile:

Hi, i do the donwgrade, but how do I do the rest? device handler and app connect. Some guide or manual? Thanks.

If you dont know how to install the connect and the device code I suggest you to read

Thanks, i read the faq and i have the app in the phone, but hub not donwgrade de firmware. I do the instruccions 3 times and nothing dont work, in the phone tcp app appears 3.0.80.

Please help.

Hi. I have downgrade some gateways with the instructions , after downgrade, remember to block internet access to avoid the hub upgrade again.

Try, try, try and nothing, in the dns this:
CNAME-record for update.greenwavereality.eu = d3k0oqko7onde3.cloudfront.net
and all work fine but not load the firmaware.

I block de d3k0oqko7onde3.cloudfront.net,
it seems to work , but the tcp app in the phone does not connect with the bridge.

I have the firmware 3.0.80

Where can I find the original TCP app? Google Play shows lots of apps when I search for “TCP Lighting” or “TCP Lighting App,” none of which appear to be affiliated with TCP.

The app is kinda dead now, too. Even if you get the APK, I still had it die and no longer work with my hub. Thankfully, this: https://github.com/bren1818/TCPLightingWebInterface/wiki

Hi. I have ios and it´s working fine, no problem to setup new gateway, sorry I have not android.

Am I right when I guess that this needs a Smart App and only works with the Smartthings Classic app?

I swear, I thought it used to work but now when I try to control the lights, I get an error from the new app saying it can’t connect to the device. The classic app works just fine.

I find that everything works great until I want to add a new TCP bulb, then I basically blow everything up and have to start from scratch.

The logs aren’t much help… “physicalgraph.exception.ConflictException: Device still in use. Remove from any SmartApps or Dashboards, then try again @line -1 (doCall)”


OK, so I figured this out. Edit the Smart App and look for line 152:


comment that line out by putting // in front of it, and save & publish. You can now add new bulbs.

I’m sure I am screwing something up but it is working so I am not digging any deeper.

1 Like


My app has never stopped working controlling my lights in house via WiFi. But does this change allow you to have the internet ability back?

Thank you.

This worked great when I got a gateway with the correct firmware. I was able to add my lights and turn off/on. The only thing that isn’t working is trying to set a dim level in smartthings… Nothing happens. Any thoughts/solutions? Thanks

1 Like

Yep, here we go again. I’ve been googling the heck out of this and it seems like Smartthings might have changed something that affected HUE lights in the same way when using HomeAssistant, but then they updated their plugin and they are working again. I’ve been trying to dig up what changed to see if we can apply it here.

It’s a shame the dev has abandoned this project with minimal documentation.

OK, so I found it. I have learned that it is apparently trying to log a Smartthings System Event and it is failing. I am GUESSING that Smartthings changed the way devs have to refrence system events and force them to use actual attribute names of the device cabibility. In this case, I assume we are looking for


def setLevel(value) {
log.debug “in setLevel with value: ${value}”
def level = value as Integer
sendEvent( name: “level”, value: level )
sendEvent( name: “switch.setLevel”, value: level ) // this one bombs because of switch.SetLevel
parent.setLevel( this, level )

NEW Code:

def setLevel(value) {
log.debug “in setLevel with value: ${value}”
def level = value as Integer
sendEvent( name: “level”, value: level )
sendEvent( name: “Switch Level”, value: level ) // this one bombs now until you replace switch.SetLevel with Switch Level.
parent.setLevel( this, level )

Thank you so much for working on this. To clarify - we’re changing the code in the Device Handler, correct? Sorry I’m very novice.

I tried what you have here and received this error message:
org.codehaus.groovy.control.MultipleCompilationErrorsException: startup failed:
script_dth_metadata_895adefe_1478_447d_b5df_3ff5c451b5ba: 123: expecting ‘}’, found ‘:’ @ line 123, column 34.
log.debug “in setLevel with value: {value}" def level = value as Integer log.debug "in setLevel with level: {level}”

I would appreciate any additional help…thank you again

I’m sorry, it looks like the first time I pasted the code in, I did not do it properly. I just edited the post to fix the paste.