Failed persisting cached accessories to disk
<!-- If you have an issue with a plugin create an issue on that plugin's GitHub page instead. -->

<!-- Before opening an issue, please review the Troubleshooting Page on the Wiki to ensure that this is a new issue, and alternatively search the closed issues for similar problems. -->

<!-- Link to the the Wiki - https://github.com/nfarina/homebridge/wiki -->

<!-- Provide a general summary in the Title above -->

**Describe Your Problem:**
<!-- A clear and concise description of what problem you are trying to solve. -->
Hi all, I’m seeing a strange issue in my Homebridge logs and searching previous issues hasn’t turned up much information. The logs are reporting that Homebridge cannot save cached accessories to disk. I’ve tried removing all cached accessories from the settings menu and that did not work. I’ve rebooted Homebridge and my raspberry pi several times to success. See the logs below.

Appreciate the help.

**Logs:**
```
[8/17/2021, 6:08:01 PM] Failed to save cached accessories to disk: Converting circular structure to JSON
    --> starting at object with constructor 'Timeout'
    |     property '_idlePrev' -> object with constructor 'TimersList'
    --- property '_idleNext' closes the circle
[8/17/2021, 6:08:01 PM] Your accessories will not persist between restarts until this issue is resolved.
```

**Homebridge Config:**
<!-- Paste relevant output between the two ``` lines below -->
<!-- Remove any sensitive information, passwords, etc. -->

```json
{
    "bridge": {
        "name": "Homebridge 9BDE",
        "username": "[[redacted]]",
        "port": 51493,
        "pin": "[[redacted]]"
    },
    "accessories": [],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "auth": "form",
            "theme": "dark-mode",
            "tempUnits": "f",
            "lang": "auto",
            "platform": "config"
        },
        {
            "hidePoolTemperatureSensor": false,
            "hideSpaTemperatureSensor": false,
            "hideAirTemperatureSensor": false,
            "hidePoolThermostat": false,
            "hideSpaThermostat": false,
            "statusPollingSeconds": 60,
            "createLightColorSwitches": true,
            "platform": "ScreenLogic"
        },
        {
            "name": "Harmony Hub",
            "hubIP": "[[redacted]]",
            "hubName": "Family Hub",
            "platform": "HarmonyHubWebSocket",
            "linkVolumeControlToTV": true,
            "publishGeneralVolumeSlider": true
        },
        {
            "name": "ADT Pulse",
            "username": "[[redacted]]",
            "password": "[[redacted]]",
            "logLevel": 30,
            "logActivity": true,
            "removeObsoleteZones": true,
            "platform": "ADTPulse"
        },
        {
            "name": "Thermostat",
            "username": "[[redacted]]",
            "password": "[[redacted]]",
            "refresh": 60,
            "storage": "fs",
            "platform": "tcc",
            "sensors": "all",
            "debug": false
        },
        {
            "email": "[[redacted]]",
            "password": "[[redacted]]",
            "name": "MyQ (Garage Door)",
            "platform": "myQ"
        },
        {
            "refreshToken": "[[redacted]]",
            "platform": "Ring"
        },
        {
            "name": "Orbit Irrigation",
            "email": "[[redacted]]",
            "password": "[[redacted]]",
            "platform": "orbit"
        }
    ],
    "disabledPlugins": []
}
```

**Environment:**

* **Node.js Version**:  v14.17.5
* **NPM Version**: v6.14.14
* **Homebridge Version**: v1.3.4
* **Operating System**: Raspbian GNU/Linux Buster (10)
* **Process Supervisor**: Systemd

<!-- Click the "Preview" tab before you submit to ensure the formatting is correct. -->
