ring icon indicating copy to clipboard operation
ring copied to clipboard

Honeywell T6 Pro Z-Wave thermostat showing low battery when it doesn't require batteries.

Open tinyboxio opened this issue 3 years ago • 6 comments

Bug Report

Describe the Bug

We have 3 Honeywell T6 ProSeries Z-Wave thermostats. They are showing low battery in HomeKit when it doesn't require batteries (batteries are optional).

To Reproduce

Steps to reproduce the behavior:

  • Pair Honywell T6 ProSeries thermostat(s) to Ring without batteries installed
  • Install Homebridge Ring
  • Thermostats will be automatically discovered and display low battery when they don't have batteries installed (batteries optional)

Expected behavior

Thermostats should not display as low battery in HomeKit if there are no batteries installed or there should be a way to turn this functionality off in the config.

Screenshots/Logs

N/A

Additional context

N/A

Homebridge Ring Config

Post homebridge-ring platform config without sensitive information


{
    "refreshToken": "xxx",
    "platform": "Ring",
    "_bridge": {
        "username": "xxx",
        "port": 35894
    }
}

Environment

  • OS: Raspbian GNU/Linux Bullseye (11)
  • Node.js: v12.22.5
  • NPM: 7.5.2
  • homebridge-ring: v11.0.6
  • homebridge: v1.5.0
  • hoobs: N/A

tinyboxio avatar Jul 10 '22 22:07 tinyboxio

@tinyboxio can you follow the directions for the data discovery tool and post the results here?

dgreif avatar Aug 27 '22 14:08 dgreif

Hi @dgreif. I actually have one of these thermostats connected to Ring, mostly for the purpose of testing/supporting the thermostat device in ring-mqtt, so I'll try to provide the data discovery for you soon. However, I've already taken a look at it myself and I'm not really sure what to do with it because I don't believe there any way to tell the difference between a device with no battery vs a device with a completely dead battery, which I guess is to be expected.

I suppose you could assume that if, during initial startup, the battery value is 0%, then probably it doesn't have any battery in it at all, since it's unlikely that actual batteries would ever get all the way to 0%.

tsightler avatar Aug 28 '22 21:08 tsightler

Good to know. Does the Ring app show a battery associated with it?

dgreif avatar Aug 28 '22 21:08 dgreif

Not that I see, even when a battery is installed, there's no indication in the Ring app about the battery state, as far as I can tell it's in the data only. For this specific model batteries are required only if there's no 24VAC wired power supply, but even if there is, having a battery allows the unit to survive power outages of longer than a few minutes without losing the date/time settings. But of course there are many other Z-wave thermostats that may have different battery requirements.

tsightler avatar Aug 28 '22 21:08 tsightler

Device data from a thermostat with battery:

{
	"acStatus": "ok",
	"adapterType": "zwave",
	"batteryLevel": 90,
	"batteryStatus": "full",
	"categoryId": 11,
	"commStatus": "ok",
	"commandTypes": {
		"communication-poll": {
			"requiresTrust": false
		},
		"reconfigure.start": {
			"requiresTrust": false
		},
		"update-node-neighbors.start": {
			"requiresTrust": false
		}
	},
	"componentDevices": [
		{
			"rel": "0:thermostat-operating-status",
			"zid": "231d7f30-338d-uuid"
		},
		{
			"rel": "0:sensor.temperature",
			"zid": "d1c26e9e-1e5f-uuid"
		}
	],
	"deviceFoundTime": 1628570480104,
	"deviceType": "temperature-control.thermostat",
	"lastCommTime": 1662075111739,
	"lastUpdate": 1662075111797,
	"linkQuality": "ok",
	"managerId": "zwave",
	"manufacturerName": "Honeywell / Resideo",
	"name": "Bonus Room",
	"placement": "unassigned",
	"pollInterval": 0,
	"roomId": 17,
	"setupByPluginStatus": "complete",
	"setupByUserStatus": "complete",
	"subCategoryId": 0,
	"tags": [],
	"tamperStatus": "ok",
	"zid": "fd834405-a6a4-uuid",
	"fanMode": "auto",
	"mode": "off",
	"modeSetpoints": {
		"auto": {
			"deadBand": 3.888889,
			"deadBandMin": 0.5555555,
			"setPoint": 13.88889,
			"setPointMax": 37.22222,
			"setPointMin": 4.444444
		},
		"aux": {
			"setPoint": 10,
			"setPointMax": 32.22222,
			"setPointMin": 4.444444
		},
		"cool": {
			"setPoint": 17.77778,
			"setPointMax": 37.22222,
			"setPointMin": 10
		},
		"esCool": {
			"setPoint": 29.44444,
			"setPointMax": 37.22222,
			"setPointMin": 10
		},
		"esHeat": {
			"setPoint": 16.66667,
			"setPointMax": 32.22222,
			"setPointMin": 4.444444
		},
		"heat": {
			"setPoint": 10,
			"setPointMax": 32.22222,
			"setPointMin": 4.444444
		},
		"off": {}
	},
	"supportedFanModes": [
		"on",
		"circulate",
		"auto"
	]
}

I'll take the battery out and try to get the dump after that, but I think the battery level just goes to 0.

tsightler avatar Sep 02 '22 00:09 tsightler

Here is the relevant data. I figure if batteryLevel is 0 and commStatus is ok, it should be assumed that the device is plugged in and doesn't need a battery.

{
          "adapterType": "zwave",
          "batteryLevel": 0,
          "batteryStatus": "warn",
          "categoryId": 11,
          "commStatus": "ok",
          "commandTypes": {
            "communication-poll": {
              "requiresTrust": false
            },
            "reconfigure.start": {
              "requiresTrust": false
            },
            "update-node-neighbors.start": {
              "requiresTrust": false
            }
          },
          "componentDevices": [
            {
              "rel": "0:thermostat-operating-status",
              "zid": "dd1974f0-2ab1-uuid"
            },
            {
              "rel": "0:sensor.temperature",
              "zid": "ee2c44d4-f781-uuid"
            }
          ],
          "deviceFoundTime": 1652856627695,
          "deviceType": "temperature-control.thermostat",
          "lastCommTime": 1664267464705,
          "lastUpdate": 1664267464982,
          "linkQuality": "ok",
          "managerId": "zwave",
          "manufacturerName": "Honeywell / Resideo",
          "name": "Suite Thermostat",
          "placement": "unassigned",
          "pollInterval": 0,
          "roomId": 1,
          "setupByPluginStatus": "complete",
          "setupByUserStatus": "complete",
          "subCategoryId": 0,
          "tags": [],
          "tamperStatus": "ok",
          "zid": "782c415f-eb0f-uuid",
          "fanMode": "on",
          "mode": "cool",
          "modeSetpoints": {
            "auto": {
              "deadBand": 7.205556,
              "deadBandMin": 0.5555556,
              "setPoint": 16.09444,
              "setPointMax": 37.22222,
              "setPointMin": 4.444444
            },
            "cool": {
              "setPoint": 23.3,
              "setPointMax": 37.22222,
              "setPointMin": 10
            },
            "esCool": {
              "setPoint": 29.44444,
              "setPointMax": 37.22222,
              "setPointMin": 10
            },
            "esHeat": {
              "setPoint": 16.66667,
              "setPointMax": 32.22222,
              "setPointMin": 4.444444
            },
            "heat": {
              "setPoint": 8.888889,
              "setPointMax": 32.22222,
              "setPointMin": 4.444444
            },
            "off": {}
          },
          "setPoint": 23.3,
          "setPointMax": 37.22222,
          "setPointMin": 10,
          "supportedFanModes": [
            "on",
            "circulate",
            "auto"
          ]
}

tinyboxio avatar Sep 27 '22 08:09 tinyboxio