Trane thermostat fan mode issues

Hi all,

Recently (not sure when), I started having issues with the Fan mode for my Trane thermostat when connecting via mobile. It always shows as On not matter what mode it is in (Auto or On). If the system is in Auto, I can hit “On” and it will set it to On, and the page reloads. If the system is On, and I hit Auto, nothing happens. No page reload, no changing to Auto, etc.

And also, in the regular UI4, the current fan mode isn’t displayed. I attached some screenshots.

I will exclude/include the thermostat again if others think it will help. I just haven’t yet b/c I don’t want to have to redo all my scenes involving the thermostat right now.

I did have the fan set to cycle for a couple weeks when the upstairs would get quite a bit warmer than downstairs, but no anymore.

The fan mode not showing up in UI4 is a known issue. We have been telling MCV this for some time now. They will not fix this issue until UI5 comes out.

  • Garrett

I am also looking for the luup code to tell if the fan is on or not. Can someone post that?

Kristopher

Have a look here

http://wiki.micasaverde.com/index.php/Luup_Requests

http://wiki.micasaverde.com/index.php/Luup_Devices#HVAC.2FClimate

You would use variableget

http://wiki.micasaverde.com/index.php/Luup_Requests#variableget

Via http request it would be:

http://ip:3480/data_request?id=variableget&DeviceNum=26&serviceId=urn:upnp-org:serviceId:HVAC_FanOperatingMode1&Variable=Mode

Changing IP with Vera’s IP and DeviceNum with the thermostats device I’d.

  • Garrett

[quote=“garrettwp, post:4, topic:168967”]Have a look here

http://wiki.micasaverde.com/index.php/Luup_Requests

http://wiki.micasaverde.com/index.php/Luup_Devices#HVAC.2FClimate

You would use variableget

http://wiki.micasaverde.com/index.php/Luup_Requests#variableget

Via http request it would be:

http://ip:3480/data_request?id=variableget&DeviceNum=26&serviceId=urn:upnp-org:serviceId:HVAC_FanOperatingMode1&Variable=Mode

Changing IP with Vera’s IP and DeviceNum with the thermostats device I’d.

  • Garrett[/quote]

Maybe I’m reading the Wiki wrong, or does the Wiki have the wrong variable name? I agree the variable is “Mode” but the wiki has “urn:upnp-org:serviceId:HVAC_FanOperatingMode1 – ModeStatus” instead of “urn:upnp-org:serviceId:HVAC_FanOperatingMode1 – Mode” right?

if you look at the Binary Switch http://wiki.micasaverde.com/index.php/Luup_Devices#Switch , it lists “Status” under “Variables” which is correct. (It only lists the service once, because there is only one service, but the the Climate has different services for different variables.)

+1 for Wiki error. And took the liberty of changing it.

+1 for Wiki error. And took the liberty of changing it.[/quote]Glad I wasn’t going crazy! I’ve created my Wiki account, but now I don’t have to change it. :stuck_out_tongue:

[quote=“garrettwp, post:2, topic:168967”]The fan mode not showing up in UI4 is a known issue. We have been telling MCV this for some time now. They will not fix this issue until UI5 comes out.

  • Garrett[/quote]

Curious. It shows up in UI4 for the Honeywells we just got. And seems to work, vis-a-vis setting it. The Honeywells support a fan mode of “circ”, which doesn’t show up. Wouldn’t be surprised if that one just isn’t defined in the z-wave thermostat dialect.

–Richard

The fan mode for the Trane can be set via UI4. But it won’t show the current mode. Does the Honeywell show the current mode?

The Tran supports a “cycle” mode, which is only enabled if you send the On Cycle time to something non-zero. UI4 doesn’t support this.

You can command it via generic Z-Wave/LUUP calls.
Fan Auto : luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘45’,Data=‘68 1 0’},1)
Fan On : luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘45’,Data=‘68 1 1’},1)
Fan Cycle: luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘45’,Data=‘68 1 2’},1)
My thermostat is Node 45, the param you are modifying is 68, 1 byte in length, and the value of 0, 1, or 2.
NOTE: I will have to double-check, but this uses the NODE ID, not the Device ID. Look at Settings->ID for that.

I don’t know what happens if I send a “2” when I don’t have a cycle time defined. I would think it will reject, but who knows.

Yes, it seems to be showing the current mode, at the granularity of “Auto” and “On”.

On the Honeywell, “Circ” is a 30% duty-cycle for times when the fan would normally be idle in “auto” mode. So this is just another mode for our stats.

–Richard

[quote=“PurdueGuy, post:9, topic:168967”]The fan mode for the Trane can be set via UI4. But it won’t show the current mode. Does the Honeywell show the current mode?

The Tran supports a “cycle” mode, which is only enabled if you send the On Cycle time to something non-zero. UI4 doesn’t support this.

You can command it via generic Z-Wave/LUUP calls.
Fan Auto : luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘45’,Data=‘68 1 0’},1)
Fan On : luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘45’,Data=‘68 1 1’},1)
Fan Cycle: luup.call_action(‘urn:micasaverde-com:serviceId:ZWaveNetwork1’,‘SendData’,{Node=‘45’,Data=‘68 1 2’},1)
My thermostat is Node 45, the param you are modifying is 68, 1 byte in length, and the value of 0, 1, or 2.
NOTE: I will have to double-check, but this uses the NODE ID, not the Device ID. Look at Settings->ID for that.

I don’t know what happens if I send a “2” when I don’t have a cycle time defined. I would think it will reject, but who knows.[/quote]

There’s a Cycle mode that is currently not properly supported by Vera. There’s a bug on that. And a workaround (as mentioned by @PurdueGuy). See this topic.

[quote=“PurdueGuy, post:5, topic:168967”][quote=“garrettwp, post:4, topic:168967”]Have a look here

http://wiki.micasaverde.com/index.php/Luup_Requests

http://wiki.micasaverde.com/index.php/Luup_Devices#HVAC.2FClimate

You would use variableget

http://wiki.micasaverde.com/index.php/Luup_Requests#variableget

Via http request it would be:

http://ip:3480/data_request?id=variableget&DeviceNum=26&serviceId=urn:upnp-org:serviceId:HVAC_FanOperatingMode1&Variable=Mode

Changing IP with Vera’s IP and DeviceNum with the thermostats device I’d.

  • Garrett[/quote]

Maybe I’m reading the Wiki wrong, or does the Wiki have the wrong variable name? I agree the variable is “Mode” but the wiki has “urn:upnp-org:serviceId:HVAC_FanOperatingMode1 – ModeStatus” instead of “urn:upnp-org:serviceId:HVAC_FanOperatingMode1 – Mode” right?

if you look at the Binary Switch http://wiki.micasaverde.com/index.php/Luup_Devices#Switch , it lists “Status” under “Variables” which is correct. (It only lists the service once, because there is only one service, but the the Climate has different services for different variables.)[/quote]

When I was looking over the information (mainly for my android app I am developing), I too was thinking I was going crazy when using ModeStatus and getting errors. There is a bug as well in the lu_sdata that is used for getting information via json from vera that the fan mode is not being reported. This is causing me headaches as I can not retrieve the correct status for the thermostat in my app. Hopefully this will get fixed in UI5 as I filed a bug.

  • Garrett

Here’s what I ended up doing. I wanted to know when the fan was on or off. If the heat / cool is on, then obviously the fan is on. If the HVAC is idle, then the fan might be on if its set to ContinousOn. Otherwise, it seems like the fan is off. So here’s the code to switch on a light if the fan is on, switch it off if the fan is off:

if( luup.variable_get("urn:micasaverde-com:serviceId:HVAC_OperatingState1","ModeState",3) == "Idle" and luup.variable_get("urn:upnp-org:serviceId:HVAC_FanOperatingMode1","Mode",3) ~= "ContinuousOn") then if( luup.variable_get("urn:upnp-org:serviceId:SwitchPower1","Status",26) == "1" ) then luup.call_action("urn:upnp-org:serviceId:SwitchPower1","SetTarget",{ newTargetValue="0" },26) end elseif(luup.variable_get("urn:upnp-org:serviceId:SwitchPower1","Status",26) == "0") then luup.call_action("urn:upnp-org:serviceId:SwitchPower1","SetTarget",{ newTargetValue="1" },26) end

I noticed that the Bug for this issue (0000920) is in a Resolved state as of 2011-11-23. Not sure what release this is included in but at least it’s now included…

This is fixed for the UI5 build. I do not know if they incorporated this into a recent UI4 build. But I can vouch that the fix is working under a UI5 beta release.

  • Garrett