HubitatCommunity / HoneywellThermo-TCC

22 stars 10 forks source link

updates for a fan only mode #13

Closed Nvious1 closed 3 years ago

Nvious1 commented 3 years ago

The existing version doesn't seem to enter into the if to set the operating mode. This resolves that issues plus adds a case for setting fan only operating state. I also added a 3 min pooling option.

csteele-PD commented 3 years ago

I am not sure I understand these offered changes.

First, the logging one... logInfo is a method that filters the message by descTextEnable. On the Device Info page, just turn that off and logs don't display. Therefore, I think there's no additional value to be had by completely removing the log message.

For the larger Fan Mode change, I'd like to know what Thermostat unit you're using.. I've never heard of Fans having an independent schedule from the heat/cool function, usually called: operating mode. In other words, the existing driver is tailored to work with Honeywell WiFi Thermostats, that have one schedule, and it controls heat/cool setpoints NOT the Fan. The Fan is slaved to operations. This results in fan modes of "On" (always) or "Auto" (follows heat/cool demand.)

If you have a non-Honeywell Thermostat perhaps you want to fork this code and publish it specifically for that Manufacturer?

OR.. I need to get out more and see Honeywell's latest WiFi (cheap) Thermostats. [Meaning there already is a community driver for Honeywell's ZWave Thermostat.]

Nvious1 commented 3 years ago

Hi,

The commit for the logging remove was a line I had added in there to resolve the issue with it not going into fan if statement. I removed it because it really don't provide any logging value even when the descriptive text is turned on, however its fine if you would like to keep it.

Regarding my thermostat, I have the VisionPro 8000 Thermo. https://www.honeywellhome.com/us/en/products/air/thermostats/wifi-thermostats/visionpro-8000-multistage-thermostat-th8320r1003-u/

Here is a snip of JSON that comes back in my case. The fan really still only has the 3 operating modes, but you can set them different in your different scheduling windows. Meaning at night it can be ON and during the day as circulate. When you turn on circulate, the fan will come on while the equipment is running but also on regular intervals when there is no service call for heat or cool. This puts the system in a fan only state.

{"success":true,"deviceLive":true,"communicationLost":false,"latestData":{"uiData":{"DispTemperature":74,"HeatSetpoint":65,"CoolSetpoint":74,"DisplayUnits":"F","StatusHeat":0,"StatusCool":0,"HoldUntilCapable":true,"ScheduleCapable":true,"VacationHold":0,"DualSetpointStatus":false,"HeatNextPeriod":76,"CoolNextPeriod":76,"HeatLowerSetptLimit":40,"HeatUpperSetptLimit":90,"CoolLowerSetptLimit":60,"CoolUpperSetptLimit":99,"ScheduleHeatSp":65,"ScheduleCoolSp":74,"SwitchAutoAllowed":true,"SwitchCoolAllowed":true,"SwitchOffAllowed":true,"SwitchHeatAllowed":true,"SwitchEmergencyHeatAllowed":false,"SystemSwitchPosition":3,"Deadband":5,"IndoorHumidity":128,"DeviceID":########,"Commercial":false,"DispTemperatureAvailable":true,"IndoorHumiditySensorAvailable":false,"IndoorHumiditySensorNotFault":true,"VacationHoldUntilTime":0,"TemporaryHoldUntilTime":0,"IsInVacationHoldMode":false,"VacationHoldCancelable":true,"SetpointChangeAllowed":true,"OutdoorTemperature":128,"OutdoorHumidity":128,"OutdoorHumidityAvailable":false,"OutdoorTemperatureAvailable":false,"DispTemperatureStatus":0,"IndoorHumidStatus":128,"OutdoorTempStatus":128,"OutdoorHumidStatus":128,"OutdoorTemperatureSensorNotFault":true,"OutdoorHumiditySensorNotFault":true,"CurrentSetpointStatus":0,"EquipmentOutputStatus":0},"fanData":{"fanMode":3,"fanModeAutoAllowed":true,"fanModeOnAllowed":true,"fanModeCirculateAllowed":true,"fanModeFollowScheduleAllowed":true,"fanIsRunning":true},"hasFan":true,"canControlHumidification":false,"drData":{"CoolSetpLimit":null,"HeatSetpLimit":null,"Phase":-1,"OptOutable":false,"DeltaCoolSP":null,"DeltaHeatSP":null,"Load":null}},"alerts":"\r\n\r\n"}

Nvious1 commented 3 years ago

I will add that I don't believe my changes will affect any that are using it how it works today, only simply expanding the capabilities to work with these additional features. If the decision to not accept this PR is made, I will maintain a separate fork as you said to have these features, however I believe that anyone that would be using Honeywell thermostat with Smart Vents, they will want the fan only operating mode status so that vents can be coordinated to control airflow as requested.