Assuming that is the case overall... I'll believe it when I can reproduce it. I don't doubt you are seeing that on your device, don't get me wrong. I just don't know if it is a device-wide problem, or something specific to your thermostat. Like I said, it isn't even supposed to send config param 21 and 22 reports by default....
In the many hours of testing I've done on this thermostat, I've never seen it not send a report when I was expecting it to... BUT, I also don't put my fan in/out of auto/on normally either. I did when I tested the driver, but never have since then.
Yes, if the normal thermostat reports don't always send when they should, then I will use the config reports to augment it. Not a hard change - other than making sure I don't get duplicate events since now I'm looking for updates in two different reports.
At a minimum it would be trivial to dump the mechanical status and SCP to state variables.
I was starting to wonder that myself. To implement the remote sensor, I regularly update the calibration value of the temperature sensor, maybe I will try stopping that and see if that helps...
I updated the driver to dump the reports into a state variable.
I'm not in front of my thermostat, though, so I can't tell for sure if those report values are a bit map or individual states. If a bit map, then a number will show up in the variable instead of text. If that happens, let me know and I'll fix that later too.
I can now see it in device details data , made a couple changes: changed left shift values from 1..9 to 0..8 and commented out two line trowing errors, not very familiar with this language yet...
@JasonJoel, I think @christi999 is seeing the same thing I sent you that pull request on GitHub about with regards to fan state and operating state. I think there needs to be an extra call to the Thermostat to get the status back early as it doesn't report it on it's own.
Maybe I'll go back and look at what you said... I am still not "getting it" I guess. I have tried 20 different things so far since getting home and I can never get things out of sync/incorrect on mine.
My fan state always shows running when running, idle when idle... So I'm missing something somewhere.
My logs... Every time... on, running, auto, idle, :
@Ryan780 I can't make mine do it, but I agree your pull request would likely resolve it in any case so I'll add it.
Thanks.
EDIT: One thought... I wonder if our reporting is setup differently... That might be it, because fan state is not something it is setup to report by default. I might have changed mine!
I wonder what your guys' config parameter 23 value is?
OK, I just merged @Ryan780 changes into v1.6.1. it will do a fan state refresh when changing fan modes. That might fix what you saw.
Side note, though, I would still love to see what some of your parameter 23 values are if you get time to switch to Basic Zwave Tool and check. If not, no worries!
And remember, when I sent you the PR, I wasn't able to get this to repeat a second time but I had the event logs to prove it happened the first time. that's why I wasn't so insistent about the change...I couldn't get it to repeat. But now that someone else saw it too...that means it's gotta have a probability that's higher than I thought. I'll pull param 23 sometime tonight.
Thanks, and no problem. Looking at my test thermostat, I have ALL reports turned on, and that is definitely not the default... lol.
So more data will be interesting. It would be easy enough to force the reporting to something more (maybe all?) in Confgure if that is what is different.
EDIT: Mine sticks in Fan Only mode too. That's definitely a thermostat firmware bug, as it reports nothing back on thermostatoperatingstate - and I have every report bit turned on. I think I can work around it with the mechanical and SCP reports though.
Excellent! or not. I also had 2 other instances where the thermostat state was stuck to "heating" while it was actually not heating. I think it happened because I changed the fan state just after I had saved parameters and configured... I might be able to reproduce if needed.
OK... I think the change I made will fix that too (or at least I'm very optimistic it will!). Any time it gets an SCP status report that is zero, it sets the thermostatOperatingState to "idle".
Also, I changed it so that when you save preferences, it turns on autosending of ALL reports. That is how mine are all setup already, so I don't think that will be an issue for anyone. If it impacts those running without C Wire (aka on batteries), I'll go back and make it more granular.
v1.7.0 posted. You don't have to re-save preferences unless you specifically want the new reporting configured. The state sync fix happens without re-saving.
Thanks all!
v1.7.0 changes (in addition to the fanstateget commands added in 1.6.1):
Set thermostatOperatingState to idle when SCP report=0 to fix some out of sync issues with that variable.
Added in mechanical status and scp status state variables (can see granular system status in there including Min Run time and Min Off Time flags).
When parameters are saved the driver now sets the thermostat report autosend bits (param 23) to -1 which = send all reports
Edit - I'm an idiot... I forgot I'm already forcing the reporting to "all" in the CONFIGURE section.. No need to check your parameter 23, as it will be the same as mine if you have ever hit the CONFIGURE button...
I'm going to upload a v1.7.1 removing it from parameter save section. No need to update the driver if you already installed 1.7.0 though.
It's possible I'm missing something, but does this driver support battery level? I can see the battery level when I use the built in driver, but as soon as I switch to this one the battery state disappears.
It should show in the event log it after the thermostat reports a battery level the 1st time. Not sure if it will show as a state or not.
As you can see below, I got lazy and left the battery reporting on, even when it is hard wired. It reports 1x/day by default. So you should see it in the device event log at some point: