[RELEASE] Honeywell TCC Total Connect Comfort Parent/Child Drivers

So I followed you over here since it sounds more gooder than version C... and has been patched for the recent os update... (Thx for that pointer!)

Question - renaming child devices? Possible? I'd like to distinguish by name, not room... maybe it's as easy as changing the name before "add child"? scared to try till I get my second question answered... :wink:
Second question - How do I delete a child? there doesn't seem to be a remove device button... (see how/why these two questions are linked?)

All Hubitat devices have two fields for naming...

Screen Shot 2022-09-25 at 12.58.07 PM

The Label is initially empty and therefore the Name is used. But if you simply add a Label, it will be what's shown in the GUI.

Screen Shot 2022-09-25 at 12.59.56 PM

To delete a Child, push the button :smiley:

Screen Shot 2022-09-25 at 12.57.59 PM

On the Device Info page. But the Caution is real. Click it and it's GONE.

1 Like

I like it! Thanks for the quick 411. Both suggestions work fine....

1 Like

I had this same issue with my thermostats, and this addition to the parent driver resolved it. Thanks.

@csteele Anyone reporting an issue wherein calls to TCC are being logged as:

dev:8722022-11-10 21:01:10.981infoStat - Upstairs TCC transaction: retry login
dev:8702022-11-10 21:01:10.974debugAdding cookie to collection: ADRUM_BT1=R:0|i:197975|e:89
dev:8702022-11-10 21:01:10.971debugAdding cookie to collection: SameSite=None
dev:8702022-11-10 21:01:10.968debugAdding cookie to collection: ADRUM_BTa=R:0|g:xxxxxxxx-ed57-430e-bfb8-527f669d493e|n:honeywell-prod_f7be1c76-xxxx-xxxx-xxxx-fc62766aedb7
dev:8702022-11-10 21:01:10.965debugAdding cookie to collection: ASP.NET_SessionId=an0la0zi2qz2zw2evxgkdlb2
dev:8702022-11-10 21:01:10.963debugRequest was successful, 302
dev:8702022-11-10 21:01:10.231debugHoneywell TCC 'login'
dev:8722022-11-10 21:01:04.227infoStat - Upstairs TCC transaction: retry login
dev:8702022-11-10 21:01:04.220debugAdding cookie to collection: thlang=en-US
dev:8702022-11-10 21:01:04.216debugAdding cookie to collection:

This just started today and has continued into the evening now. My Honeywell TCC mobile app logs in just fine and I can make manual adjustments but my automations are sunk.

I posted this earlier on another thread that I probably misinterpreted. But two people report it fixed it for them too.

1 Like

Edit in place, awaiting next automation run. Thanks very much for the quick response - much appreciated!

EDIT/UPDATE: confirmed, this did the trick @csteele

1 Like

I changed the value in line 792 to 8 and I'm all set. Thanks so much!!!

2 Likes

Has anyone else experienced polling failure?

My last poll was around @ 12:33am on Nov 10th. Initialize, refresh, etc. hasn't worked to restart it. I thought I would ask others before I go any further being Honeywell has made other recent changes.

@oldcomputerwiz Did you change the value in line 792 to 8?

I released an adjusted version to github and HPM yesterday. (No need to manually patch anymore.)

3 Likes

I did but with the lack of response to my question, it's obviously a "one off" on my end. It's a PIA with all the rules but I'll delete the devices and set them back up.

Thanks for replying!

This has been running great for me in that I can see and control the T-stats through Hubitat.
THANK YOU for developing this app. Truly appreciated and I'm grateful.

Now that I have been using this for awhile, I'm trying to figure out two additional functions, as noted below. My Tstats are Mitsubishi MRCH1's, connected to my ducted minis through the Redlink protocol. I pick up their data using a Honeywell Redlink Gateway, that sends info to TotalConnectComfort site, from which this Hubitat app grabs the info.

  1. Does TotalConnectComfort collect only the data it shows on its user interface, or does it collect more? Specifically, does it collect fan status and/or schedule status? Neither show up on the Honeywell website so I presume that data does not make it there, so Hubitat can't get it. However, if it is really there and just not visible on their website, I'd love a way to show it in Hubitat.
    The MRCH1's fan settings are Auto or Low, Medium, High. There is no off on the regular interface. In the installer setup screen, there is an option to program the system for the fan Auto setting to run continuously (which I have), or to run only when the minisplits are pushing conditioned air. However, on the Hubitat side, "FanOperatingState" = "Idle", 100% of the time.

  2. Could I use Hubitat for more granular control of my systems? The MRCH1's have only 2 daily setbacks. Those familiar with Minisplits know they operate most efficiently when the system calls for a constant temp. However, my household prefers the temp to drop overnight. Thus, I'd like to add about 4 commands in the morning, spaced 30 minutes apart, that slowly bring the temp up 1 degree at a time. Does anyone have experience or suggestions on the the best way to set this up so that Hubitat and the MRCH1's are not fighting each other?

1 Like

This driver communicates with the TCC API and then it falls to Honeywell to 'translate' those commands and get them delivered into the Thermostat itself.

Hubitat has two additional Apps that are built to help with environmental challenges. Thermostat Scheduler and Thermostat Controller. Together or individually they work via drivers to perform a few of the tasks that Thermostats also have. Schedule is a good example. Using Thermostat Scheduler you pretty much want your Thermostat itself to have what might be best called "emergency schedules," and leave the actual schedule to Hubitat.

Said another way.. your real Thermostat becomes abstracted to a one-size-fits-all thermostat by the driver. Then that abstraction gets further abstracted via Automations, such as Thermostat Scheduler and Thermostat Controller. I setup Rules long ago, before those Apps were available and I've even used Node-Red to alter the Thermostat. I like to think of it as taking a barely smart thermostat, making it practically dumb (keeping only the communications smarts) and then layering Smarts back on via Hubitat.

That "take a smart device, set it to be pretty dumb, then layer on smarts externally" is something I've also done with my sprinkler system.

Like a lot of people that can't count on water falling from the sky, everyone here uses a sprinkler system that often look like this:

Screen Shot 2022-11-30 at 10.34.49 AM

Generally, a knob, some buttons and a LCD screen. They get mounted somewhere and then things get put in front so that touching that box is almost physically impossible. PLUS, there's no light where it is so the LCD can't be seen. I ripped that out and put in the best not-so-smart box I could find:

Screen Shot 2022-11-30 at 10.35.09 AM

No knobs, no buttons, it's entirely dependent on something else being the smart layer. Fundamentally it gets a command for the day.. This valve On at this time, for this long. One for each of the 8 valves it supports. If it doesn't get the next day's set of commands, it re-runs what it has. It's got several external Smart Layer implementations that make it a delight to use and I've got a driver for it if I want to go down that path of making Hubitat be the smart layer. I've had it 10 years and haven't found a reason to invest the time.

I take the same approach to my Pool, where I've created a barely smart interface (aka relays driven by a Raspberry Pi 3A+) out by the pool equipment.

I am getting this in the HE log. I have two thermostats and the first one work completely. The second one will receive manually made changes on the device but if I use the dashboard to make a change I get this below in the log. Any ideas?

dev:182023-03-04 01:37:27.060 AMerrorjava.lang.NullPointerException: Cannot set property 'SystemSwitch' on null object on line 225 (method setThermostatMode)

dev:182023-03-04 01:37:27.050 AMdebugsetThermostatMode: off

dev:182023-03-04 01:34:53.869 AMerrorjava.lang.NullPointerException: Cannot set property 'FanMode' on null object on line 252 (method setThermostatFanMode)

dev:182023-03-04 01:34:53.860 AMdebugsetThermostatFanMode: auto

dev:182023-03-04 01:34:47.079 AMerrorjava.lang.NullPointerException: Cannot set property 'FanMode' on null object on line 252 (method setThermostatFanMode)

dev:182023-03-04 01:34:47.069 AMdebugsetThermostatFanMode: circulate

Here is some more log info:
dev:182023-03-04 01:34:07.602 AMerrorjava.lang.NullPointerException: Cannot set property 'SystemSwitch' on null object on line 225 (method setThermostatMode)

dev:182023-03-04 01:34:07.565 AMdebugsetThermostatMode: off

dev:182023-03-04 01:31:48.398 AMinfoGet Operating State: cooling - Fan to on

dev:182023-03-04 01:31:48.395 AMdebugsending temporary hold

dev:182023-03-04 01:31:48.394 AMdebuggot Emergency Heat = false

dev:182023-03-04 01:31:48.393 AMdebuggot scheduleCapable = true

dev:182023-03-04 01:31:48.392 AMdebuggot Vacation Hold = false

dev:182023-03-04 01:31:48.391 AMdebuggot holdTime = 540

dev:182023-03-04 01:31:48.383 AMdebugld = [fanModeOnAllowed:true, fanMode:0, fanIsRunning:true, fanModeAutoAllowed:true, fanModeCirculateAllowed:false, fanModeFollowScheduleAllowed:false]

dev:182023-03-04 01:31:48.372 AMdebugld = [ScheduleCapable:true, OutdoorTemperatureSensorNotFault:true, SystemSwitchPosition:3, SetpointChangeAllowed:true, OutdoorHumiditySensorNotFault:true, DispTemperatureStatus:0, HoldUntilCapable:true, HeatNextPeriod:36, HeatLowerSetptLimit:40.0000, SwitchCoolAllowed:true, IsInVacationHoldMode:false, IndoorHumidStatus:128, OutdoorTemperature:128.0000, ScheduleHeatSp:70.0000, TemporaryHoldUntilTime:540, OutdoorTempStatus:128, IndoorHumiditySensorAvailable:false, CoolUpperSetptLimit:99.0000, OutdoorTemperatureAvailable:false, SwitchEmergencyHeatAllowed:false, Deadband:0.0000, EquipmentOutputStatus:2, SwitchOffAllowed:true, VacationHoldCancelable:false, SwitchAutoAllowed:false, DeviceID:4701020, VacationHold:0, StatusCool:1, IndoorHumidity:128.0000, DisplayUnits:F, HeatSetpoint:70.0, Commercial:false, CoolSetpoint:62.0, HeatUpperSetptLimit:90.0000, CurrentSetpointStatus:1, DualSetpointStatus:false, ScheduleCoolSp:72.0000, VacationHoldUntilTime:0, StatusHeat:1, DispTemperatureAvailable:true, OutdoorHumidityAvailable:false, DispTemperature:70.0000, OutdoorHumidity:128.0000, SwitchHeatAllowed:true, IndoorHumiditySensorNotFault:true, CoolNextPeriod:36, CoolLowerSetptLimit:50.0000, OutdoorHumidStatus:128]

dev:182023-03-04 01:31:48.370 AMdebugRequest was successful, 200

Thanks so much for making this driver. I have been leaving Smarthings around just for my thermostats.

Does the number of Thermostats or Number of Parents have an effect on the "login attempts"?

I have 10 Thermostats across 2 houses that I would like visible. I had it set up with 2 Parents and the respective children in each house but I was basically locked out of the web interface saying to many login attempts.

Would moving to one parent reduce the polling or does it log in for each thermostat and the sheer volume of thermostat is the problem?

@rakeshg How did you get that screenshot of Hubitat Events Information?

I use Node-RED to capture and store HE events in a database. That screenshot was from the Node-RED dashboard (https://nodered.org). Node-RED has functionality to create a dashboard - it's pretty much a blank canvas, so can be a bit intimidating.

1 Like

It says my humidifier is ON. But I am certain it is OFF, as indicated in the TCC app.