UniversalDevicesInc/polyglot-v2

V2.2.6 Ecobee controller node flashes Authorized=false every 60 minutes

larryllix opened this issue · 11 comments

It seems my previous RPi polyglot version's heartbeat has disappeared in polisy/polyglot, and I have been monitoring the three status fields. All three stay true while the ecobee NS is being served by the ecobee AP and connected to ISY.

However, the Authorized field flashes False every hour (exactly but not on the hour), for some very short duration. I suspect this was not intended to happen, or to be a heartbeat of any type as the field name would not seem to be a proper label for that function and a full hour would be quick enough.

This all sounds like an ecobee ns issue, not polyglot. Each ns has their own issues ecobee is here https://github.com/Einstein42/udi-ecobee-poly/issues

This was not an issue before polisy/polyglot v2.2.5. Polyglot on RPi and polisy/polyglot v2.2.4 worked fine and ecobee NS has not been modified.
Now an additional field from Ecobee Controller Connection is randomly flashing false and then returning to True, also.

It seems polisy/polyglot v2.2.5 is sending status changes that other versions didn't without any change to the ecobee NS version.

It is normal for authorized to go false for a short period while the node server re-authorizes, I verified this was the case on older Polyglot 2.2.4 as well. The ns could be smarter and re-auth before it expires but it currently doesn't.

I installed a wait 10 seconds and it eliminated the hourly Authorised flash to false and back reporting.
The Controller Connected field flashed False and then back to True that same night at 11:06 PM and 11:10 PM November12, but hasn't done it since then.

I got thinking about the Auth=False and knowing how to avoid nuisance reports it could double as a heartbeat signal. LOL

Not sure why you say heartbeat is missing, it's working fine for me. DON/DOF are sent every longPoll, there is no visible change on the node server because it's not a status and never has been.

I don't know what heartbeat you are referring to.
I have no fields labelled "heartbeat" I was using a field in the "controller" device page previously but that doesn't exist anymore, and none of the fields ever change state except for the two we discussed flashing false for a very short period.

The ecobee device page has a connected field but it never changes. I see the DON/DOFF being logged anytime I look but I assumed it was not processed yet at the ISY end of polyglot.

In your original report you said "heartbeat has disappeared". The heartbeat has never been shown anywhere expect as a control DON/DOF which is available in control only:

Polyglot Ecobee 12 HB - [ID 001B][Parent 001E]

If
        'Ecobee / Ecobee 12 Controller Polisy' is switched On
     Or 'Ecobee / Ecobee 12 Controller Polisy' is switched Off
 
Then
        $s.Polyglot.Ecobee.12.HB  = 1
        Wait  10 minutes 
        $s.Polyglot.Ecobee.12.HB  = 2
        Run Program 'Polyglot Problem' (Then Path)
 
Else
        $s.Polyglot.Ecobee.12.HB  = 2

Note: Your controller will just be called 'Ecobee Controller', I rename mine because it's my dev box and I have 4 of them running...

My "Ecobee Controller" device contains four fields.
Nodeserver Online,
Ecobee Connection Status,
Authrorized,
Logger Level.

None of them alternate status or change status except Authorized flashes False every hour and Controller Connection Status did twice randomly. I am monitoring them all.

I was using a monitoring program very similar to your posted program but after the upgrade to polisy v2.2.6 it reported failed and never retriggered again.

Here is my defunct program:

Ecobee.Stats Comm.OK - [ID 0029][Parent 00CD][Not Enabled]

If
'Dining Room / Ecobee Controller' Ecobee Connection Status is True
Or 'Dining Room / Ecobee Controller' Ecobee Connection Status is False

Then
$GathRm.stat.updating = $cTRUE
$RecRm.stat.updating = $cTRUE
Wait 3 minutes and 30 seconds
Run Program 'Ecobee.Stats Comm.OK' (Else Path)

Else
$GathRm.stat.updating = $cFALSE
$RecRm.stat.updating = $cFALSE
Wait 20 minutes
$sAlarm.level = 2
Send Notification to 'eMail Larry' content 'Device comm report'
Repeat While $sHouse.vacation is $cFALSE
Send Notification to 'Text Larry' content 'Device comm report'
$sSayCheckComms = 1
Wait 3 seconds
$sSayCheckComms = 0
Wait 4 hours

Please check Control NOT Status. This has not changed.

Oh shoot! I messed up when I had to rebuild the ecobee programs. Can't have to be and not to be in the same If section.
Thanks for that one!!

Yeah! It works!. I guess I got flustered when things crashed and didn't see straight.
I am quite embarrassed now.
Thank you so much jimbo!!