[OBSOLETE] Filtrete 3M-50 Wi-Fi Thermostat. Version 2.0 Released 12/17/2016

I don’t know what you’re talking about. Alexa cannot connect to the thermostat directly. It connects via SmartThings and can report temperature:

Me: “Computer, what’s the Home temperature?”
Alexa: “Inside, it’s seventy one.”

1 Like

Tried to follow your instructions but there is no “Radio Thermostat” in my Type Dropdown. Any ideas?

Leo

Disregard. List isn’t in order. It was at the very bottom.

Great. That works well.

Appreciate the information about the command.

Maybe a stupid question here… do I need a smartThings hub in order for the 3M-50 smarthing-thingy to work?
I was able to follow the instructions from the guide… but unable to change temperature with either the app or alexa! :frowning:

Yes, you do need a hub. They also have to be on the same subnet.

Are you sure the CT-30 works? I’ve been fighting it forever, and haven’t been able to get it (or the 5 digit pin code).

the “Radio Thermostat” manufacturer or 2gig-branded thermostat model CT30, can work with the geko driver in this thread, when the hardware is configured for WIFI. I think a WIFI USNAP module required to be installed or pre-installed one of the two back sockets.

I’m not recognizing your reference to 5 digit pin code. Maybe you have a Zwave model without WIFI module installed.

There may be a different manufacture thermostat with the same model# CT30 but I did not find such.

@geko, thanks for your support on 3M50 thermostat. Couple of questions:

  1. Does the DH auto update/correct date/time? Especially helpful if/when thermostat is rebooted or power outages, or daylight savings time changes.
  2. If temperature is manually changed on the thermostat, does the DH capture that? If yes, is there any delay?
  3. IF the “I’m Back” or “Goodbye” routines change the temperature greater than 5 degrees (ie. Goodbye sets thermostat from 74 down to 65 and vice versa), will it register the 5 degree change request?

TIA

Worked like a charm on the first try. Integrated with Google Home no problem.

Thanks!

Anyway to add the Battery % to this DH? A couple of the other custom DH’s I was trying before finding this one had battery reporting on it. With the battery reporting I was able to add it to a smartapp I have the alerts me to batts at different levels.

I have them thermostat hooked up to my smart things hub, but it seems as though its changes are being overridden by the thermostats schedule. Is there a way to get it to adjust the temperature based on home and away and not run any type of schedule?

Hi, I have successfully installed the code and am able to control my 3m-50 thermostat – thank you for all the effort you put into writing this!

What I am unable to do is automatically set a “permanent” temp when my smartthings hub goes into “away” mode.

I can trigger the temp change automatically, but it is always a “temporary” change. When I am in away mode, I don’t want the thermostats scheduled to override my away temp.

Is there a way of automatically setting “holdOn”?

I tried tweaking the code to do this when a heat temp point is set, but unfortunately, it didn’t work.

Thanks!

Marc

might as well delete the built-in time schedules.

No I don’t know how to automatically set holdOn. Looks possible.

I know that I can create “routines” to do this, but that feels a bit tedious and I haven’t found a good way to do this in smartthings that also provides a good visualization. Let me know if I have missed something.

I did some more digging and found a way to do it. If you replace the definitions of “setHeatingSetpoint” and “setCoolingSetpoint” in the device handler with the code below, one will get the following two changes in behavior:

  • Temps are set with a permanent hold.
  • Setting a heat and cooling temp of 0 and 0 will release the permanent hold so that the thermostat will resume following it’s schedule.

Marc

// thermostat.setHeatingSetpoint
def setHeatingSetpoint(temp) {
    //log.debug "setHeatingSetpoint(${temp})"

    double minT = 36.0
    double maxT = 94.0
    def scale = getTemperatureScale()
    double t = (scale == "C") ? temperatureCtoF(temp) : temp

    t = t.round()
    
    // A temp of 0 means turn permanent hold off
    if (t == 0) {
    	log.info "Setting hold off based on heating temp ${t}"
        return holdOff()
    }
    
    if (t < minT) {
        log.warn "Cannot set heating target below ${minT} °F."
        return null
    } else if (t > maxT) {
        log.warn "Cannot set heating target above ${maxT} °F."
        return null
    }
    
    log.info "Setting heating setpoint to ${t} °F"

    def ev = [
        name:   "heatingSetpoint",
        value:  (scale == "C") ? temperatureFtoC(t) : t,
        unit:   scale,
    ]
    
    holdOn()

    sendEvent(ev)
    
    def val = "${t},\"hold\": 1"
	return writeTstatValue('it_heat', val)
}

// thermostat.setCoolingSetpoint
def setCoolingSetpoint(temp) {
    //log.debug "setCoolingSetpoint(${temp})"

    double minT = 36.0
    double maxT = 94.0
    def scale = getTemperatureScale()
    double t = (scale == "C") ? temperatureCtoF(temp) : temp

    t = t.round()
    
    // A temp of 0 means turn permanent hold off
    if (t == 0) {
    	log.info "Setting hold off based on cooling temp ${t}"
        return holdOff()
    }

    if (t < minT) {
        log.warn "Cannot set cooling target below ${minT} °F."
        return null
    } else if (t > maxT) {
        log.warn "Cannot set cooling target above ${maxT} °F."
        return null
    }
    log.info "Setting cooling setpoint to ${t} °F"

    def ev = [
        name:   "coolingSetpoint",
        value:  (scale == "C") ? temperatureFtoC(t) : t,
        unit:   scale,
    ]
    
    holdOn()

    sendEvent(ev)
    
    def val = "${t},\"hold\": 1"
	return writeTstatValue('it_cool', val)
}
1 Like

Apologies to all for asking a dumb question, but I’m a bit of a newbie to Alexa and Google Home. I recently installed both, along with a SmartThings hub, Harmony hub, and several smart outlets. I’ve managed to get all of them connected and set up some controls and timers.

I’ve read through most of this thread and installed the RadioThermostat driver, and got both Alexa and Google Home to recognize the thermostat as a new device. I can also see the thermostat controls on the SmartThings mobile app. So far, so good!

But how do I find out what queries and commands can be directed to Alexa and Google Home? I’ve found that if I ask Alexa, “What is the thermostat temperature?”, she answers correctly. But if I ask, “What is the thermostat setting?” or “What is the thermostat mode?”, she says the thermostat doesn’t support that or she doesn’t understand.

Google Home is different. If I ask, “What is the thermostat temperature?”, she responds, “Sorry, I don’t know how to help with that.” This is strange, as the exact same question gets a correct response from Alexa. On the other hand, when I ask Google Home, “What is the thermostat setting?”, she responds with the correct answer (Alexa says this isn’t supported). And if I ask, “What is the thermostat mode?”, she answers correctly (Alexa doesn’t understand this question).

So how do I find out what queries and commands are supported, and how to phrase those to both Alexa and Google Home?

TIA for your help and for all the excellent work on that device driver.

these are good questions that I have also asked myself. I don’t know where the Alexa interface to thermostats is documented fully, so I learn by doing.

In practice I use “Alexa what is the thermostat”, and “Alexa what is the thermostat setting”, and Alexa only replies with the actual inside temperature. And I know at least a year ago that mode could not be set via Alexa.

When I want to be certain of setpoint then I say “Alexa set the thermostat to 67” .

Fortunately the native Filtrete/RadioThermostat smartphone app is fully featured and operates in parallel with Alexa and SmartThings with no conflict, and the last command wins. And I use the built-in time-schedules with a typical weekly operation so the HVAC does not need regular commands from the cloud.

I don’t know about Google Home.

I tested a bunch of phrases with both Alexa and Google Home. For reference, the thermostat was set to 69 degrees and the actual temperature was 69.5 degrees. The results are shown below. It sure would be nice to have some sort of decoder ring so we would know how to control this through Alexa and Google Home.

What’s the thermostat temperature?
Alexa: The thermostat temperature is 69.5 degrees. [Correct]
Google: Sorry, I can’t help with that yet. [Boo]

What’s the thermostat setting?
Alexa: The thermostat temperature is 69.5 degrees. [Wrong answer]
Google: It’s currently 70 degrees. [Wrong answer]

What’s the thermostat set to?
Alexa: The heat is set to 69. [Correct]
Google: It’s currently 70 degrees. [Wrong answer]

What’s the thermostat mode?
Alexa: That’s not supported yet. [Boo]
Google: The House Thermostat is set to heat. [Correct]

What’s the thermostat set point?
Alexa: The thermostat temperature is 69.5 degrees. [Wrong answer]
Google: Sorry, I don’t know how to help with that. [Boo]

What’s the thermostat reading?
Alexa: The thermostat temperature is 69.5 degrees. [Correct]
Google: Heating is set to 69 with a current temperature of 70. [Correct]

Set the temperature to 65.
Alexa: The heat is set to 65. [Correct]
Google: You got it - setting the House Thermostat to 65 degrees. [Correct]

Turn the thermostat off.
Alexa: Thermostat doesn’t support that. [Wrong answer]
Google: Sure - changing the House Thermostat to Off. [Correct]

Turn on the heat.
Alexa: It’s set to heat. [Correct]
Google: Sure - changing the House Thermostat to Heat. [Correct]

1 Like

good updates. I think we’ll have to try the SAME questions again in the future and may get different hopefully better results. Nice that Alexa can set heat or cool mode now.

This handler provides both heatingSetpoint and coolingSetpoint. Yay.

Is there a way to expose thermostatSetpoint, like the stock zwave module handler for this thermostat?

Zwave module/handler:
snip10