Changing "linked_battery_sensor" for Ring Z-wave contact sensor in HomeKit Integration

Hi all,

I’ve seen a few folks mention that the Ring contact/door sensors show in HomeKit with 0% battery life even though HA shows it coorectly. I’ve reviewed the diagnostic file for the HomeKit bridge exposing the contact sensors and I know the problem is that the “linked_battery_sensor” attribute is set to expose the temperature - which is 0 because these sensors do not include temp. The thing is that I cannot figure out where to change this “linked_battery_sensor” without doing a completely customer HomeKit entry in the configuration.yaml file. Can someone point me in the right direction to change the “linked_battery_sensor” attribute of an entity within a particular HomeKit bridge?

TIA.

Here is the diagnostic.json snippet from the bridge that shows the incorrect sensor being used for linked_battery_sensor attribute.

 "bridge": {
      "1399065732": {
        "aid": 1399065732,
        "config": {
          "manufacturer": "Ring",
          "model": "4SD2SZ-0EN0",
          "sw_version": "1.40.6",
          "platform": "zwave_js",
          "linked_battery_sensor": "sensor.sliding_glass_door_temperature"
        },
        "category": 10,
        "name": "Sliding glass door Intrusion",
        "entity_id": "binary_sensor.sliding_glass_door_intrusion",
        "entity_state": {
          "entity_id": "binary_sensor.sliding_glass_door_intrusion",
          "state": "off",
          "attributes": {
            "device_class": "door",
            "friendly_name": "Sliding glass door Intrusion"
          },
          "last_changed": "2025-04-19T13:25:00.087007+00:00",
          "last_reported": "2025-04-19T13:25:00.087007+00:00",
          "last_updated": "2025-04-19T13:25:00.087007+00:00",
          "context": {
            "id": "01JS73JK1QHJCX1KR035C0H1BT",
            "parent_id": null,
            "user_id": null
          }
        }
      },
      "1356175039": {
        "aid": 1356175039,
        "config": {
          "manufacturer": "Ring",
          "model": "4SD2SZ-0EN0",
          "sw_version": "1.40.6",
          "platform": "zwave_js",
          "linked_battery_sensor": "sensor.pool_door_temperature"
        },
        "category": 10,
        "name": "Pool Door Intrusion",
        "entity_id": "binary_sensor.pool_door_intrusion",
        "entity_state": {
          "entity_id": "binary_sensor.pool_door_intrusion",
          "state": "off",
          "attributes": {
            "device_class": "door",
            "friendly_name": "Pool Door Intrusion"
          },
          "last_changed": "2025-04-19T01:38:22.767878+00:00",
          "last_reported": "2025-04-19T01:38:22.767878+00:00",
          "last_updated": "2025-04-19T01:38:22.767878+00:00",
          "context": {
            "id": "01JS5V4QDF7R7HM9P0QXGPCG9X",
            "parent_id": null,
            "user_id": null
          }
        }
      },
      "2421328862": {
        "aid": 2421328862,
        "config": {
          "manufacturer": "Ring",
          "model": "4SD2SZ-0EN0",
          "sw_version": "1.40.6",
          "platform": "zwave_js",
          "linked_battery_sensor": "sensor.front_door_temperature"
        },
        "category": 10,
        "name": "Front Door Intrusion",
        "entity_id": "binary_sensor.front_door_intrusion",
        "entity_state": {
          "entity_id": "binary_sensor.front_door_intrusion",
          "state": "off",
          "attributes": {
            "device_class": "door",
            "friendly_name": "Front Door Intrusion"
          },
          "last_changed": "2025-04-19T04:37:47.675381+00:00",
          "last_reported": "2025-04-19T04:37:47.675381+00:00",
          "last_updated": "2025-04-19T04:37:47.675381+00:00",
          "context": {
            "id": "01JS65D80VJHWHXP91XCRHME2B",
            "parent_id": null,
            "user_id": null
          }
        }
      },
      "2861255081": {
        "aid": 2861255081,
        "config": {
          "manufacturer": "Ring",
          "model": "4SD2SZ-0EN0",
          "sw_version": "1.40.6",
          "platform": "zwave_js",
          "linked_battery_sensor": "sensor.laundry_garage_door_temperature"
        },
        "category": 10,
        "name": "Laundry - Garage Door Intrusion",
        "entity_id": "binary_sensor.laundry_garage_door_intrusion",
        "entity_state": {
          "entity_id": "binary_sensor.laundry_garage_door_intrusion",
          "state": "off",
          "attributes": {
            "device_class": "door",
            "friendly_name": "Laundry - Garage Door Intrusion"
          },
          "last_changed": "2025-04-19T01:38:22.844849+00:00",
          "last_reported": "2025-04-19T01:38:22.844849+00:00",
          "last_updated": "2025-04-19T01:38:22.844849+00:00",
          "context": {
            "id": "01JS5V4QFWP9P1QSZSXCHYJXAV",
            "parent_id": null,
            "user_id": null
          }
        }
      }
    },

For those of you that may stumble upon this facing the same issue with these z-wave sensors - here is the easy fix:
Go to each ring contact sensor device and disable all of the settings “Diagnostic” settings that are not applicable. For me, I disabled the following:
Battery is Disconnected
Battery temperature is low
Charging Status
Fluid is low
Low Battery Level
Maximum capacity
Overheating
Recharge or replace
Rechargeable
Temperature
Used as backup

Once I did all that and reloaded the bridge, HomeKit picked the battery level diagnostic as the “linked_battery_sensor” and all was find in my Home app.

FYI: I’m using the z-wave.js controller in home kit and a Zooz 800 controller USB stick.

I hope this helps anyone else having this issue.