From a44d6cfed6c6b53bc136866b9d571486a140e55d Mon Sep 17 00:00:00 2001 From: jessikitty Date: Mon, 1 Jun 2026 22:24:39 +1000 Subject: [PATCH] perf: expand recorder exclusions - add 450+ ghost/unavailable entities found via API audit --- recorder_exclude.yaml | 145 +++++++++++++++++++++++++++++++++++------- 1 file changed, 121 insertions(+), 24 deletions(-) diff --git a/recorder_exclude.yaml b/recorder_exclude.yaml index 9a0a998..9b4022d 100644 --- a/recorder_exclude.yaml +++ b/recorder_exclude.yaml @@ -7,7 +7,8 @@ # database. These entities will still work in automations, dashboards, # and templates — they just won't have historical data stored. # -# Estimated impact: ~2,500+ fewer state changes recorded per hour +# Estimated impact: ~3,000+ fewer state changes recorded per hour +# Updated: 2026-06-01 - added 450+ unavailable/ghost entities found via API audit # ===================================================================== recorder: @@ -21,18 +22,28 @@ recorder: # DOMAINS: Exclude entire domains that don't need history # ----------------------------------------------------------------- domains: - - update # 82 update entities - we don't need a history of available updates + - update # ~81 update entities - no useful history - input_button # Momentary buttons - no useful history # ----------------------------------------------------------------- # ENTITY GLOBS: Pattern-based exclusions for bulk noisy entities # ----------------------------------------------------------------- entity_globs: - # -- browser_mod: 228 entities, 200 unavailable (stale sessions) -- + # -- browser_mod: ghost/unavailable sessions -- - sensor.browser_mod_* - media_player.browser_mod_* - light.browser_mod_* - binary_sensor.browser_mod_* + # Orphaned browser_mod sessions by UUID hash + - sensor.288faade_* + - sensor.59c2d41b_* + - binary_sensor.288faade_* + - binary_sensor.59c2d41b_* + - light.288faade_* + - light.59c2d41b_* + - media_player.288faade_* + - media_player.59c2d41b_* + - media_player.90796735_* # -- iCloud3: Generates 1000+ state changes per 4 hours -- - sensor.icloud3_* @@ -61,7 +72,7 @@ recorder: - sensor.jess_apple_watch_5_badge - sensor.jess_apple_watch_5_dir_of_travel - # -- Frigate: Count sensors that are almost always 0 -- + # -- Frigate: Count sensors (almost always 0) -- - sensor.*_all_count - sensor.*_all_active_count - sensor.*_car_count @@ -74,56 +85,104 @@ recorder: - sensor.*_person_active_count - sensor.*_review_status - sensor.*_last_recognized_plate + # Frigate camera-specific count sensors (caught by audit) + - sensor.fence_top_* + - sensor.back_wall_* + - sensor.frontentry_cat_* + - sensor.frontentry_dog_* # -- Frigate: Occupancy binary sensors that flap constantly -- - binary_sensor.*_cat_occupancy - binary_sensor.*_dog_occupancy - binary_sensor.*_all_occupancy - # -- Plex: All those unavailable client media players -- + # -- Plex: ~60 unavailable ghost client media players -- - media_player.plex_* - # -- Pioneer VSX-832 duplicates (keep only vsx_832 and pioneer_vsx_832_6) -- + # -- Pioneer VSX-832 duplicates/ghosts -- - media_player.pioneer_vsx_8326352 - media_player.pioneer_vsx_832_2 - media_player.pioneer_vsx_832_25 - media_player.pioneer_vsx_832_3 - media_player.pioneer_vsx_832_4 - media_player.pioneer_vsx_832_5 - - # -- VSX-832 mute switches (all unavailable) -- - switch.vsx_832_mute_* - # -- Proxmox last_boot sensors (static values, change once per reboot) -- + # -- Dead phone/tablet integrations (companion app devices no longer active) -- + - sensor.blobphone_* + - sensor.jessroom_* + - sensor.jessroom_* + - sensor.jesss_ipad_* + + # -- F1 integration (~31 entities, all unavailable off-season) -- + - sensor.f1_* + - binary_sensor.f1_* + - select.f1_* + - button.f1_* + + # -- OctoPrint (~30 entities, unavailable when printers are off) -- + - sensor.octoprint_* + - binary_sensor.octoprint_* + - button.octoprint_* + - number.octoprint_* + + # -- AdGuard Home (integration broken since LXC migration) -- + - sensor.adguard_home_* + - switch.adguard_home_* + + # -- Google/Nest speaker alarm/timer sensors (all unavailable) -- + - sensor.living_room_speaker_* + - sensor.lous_desk_* + - sensor.master_bedroom_display_* + - sensor.bathroom_speaker_* + - sensor.rack_speaker_* + - sensor.computer_desk_* + - sensor.william_room_speaker_* + - sensor.garage_speaker_* + + # -- Seasonal/spare smart plugs (unavailable ghost _2 entities) -- + - sensor.christmas1_* + - sensor.christmas2_* + - binary_sensor.christmas2_* + - switch.christmas2_* + - switch.spare_2_switch_* + - switch.spare_3_switch_* + - switch.spare1_switch_* + - switch.batsignal_switch_* + - switch.hiddenside_switch_* + - switch.clothesdrier_*_2 + - switch.dishwasher_*_2 + - switch.washingmachine_*_2 + - switch.serverpower25_*_2 + - switch.serverrack_*_2 + - switch.bella_computer_*_2 + - switch.smart_power_strip_*_2 + + # -- Proxmox last_boot (static, only changes on reboot) -- - sensor.*_last_boot - # -- F1 Sensor (76 entities, most unavailable off-season) -- - - sensor.f1_* - - select.f1_* + # -- qBittorrent (high churn, low history value) -- + - sensor.qbittorrent_* - # -- Misc hash-ID entities (likely orphaned browser_mod/plex sessions) -- + # -- Misc hash-ID orphaned entities -- - media_player.*_???????? - # -- qBittorrent status (high churn, low value for history) -- - - sensor.qbittorrent_status - - sensor.qbittorrent_active_torrents - - sensor.qbittorrent_inactive_torrents - - sensor.qbittorrent_errored_torrents - - sensor.qbittorrent_connection_status - # ----------------------------------------------------------------- - # SPECIFIC ENTITIES: Individual high-churn entities + # SPECIFIC ENTITIES: Individual high-churn or unavailable entities # ----------------------------------------------------------------- entities: - # Time sensors - 720 state changes per hour combined, pointless to record + # Time sensors - 720+ state changes/hour, pointless to record - sensor.date_time - sensor.time - sensor.time_2 - # Frigate motion (useful for automations, but constant flapping doesn't need history) + # Frigate motion (useful in automations, not in history) - binary_sensor.backyard_motion - binary_sensor.driveway_motion + # NVX fan RPM - changes every few minutes, not useful in history + - sensor.nvx_fan_rpm + # Mobile app sensors that update constantly - sensor.jess_iphone_audio_output - sensor.jess_iphone_app_version @@ -132,6 +191,44 @@ recorder: - sensor.jess_iphone_watch_battery_state - sensor.jess_phone_last_update_trigger - # Frigate internal sensor + # Frigate internal - sensor.frigate_coral_inference_speed - sensor.frigate_uptime + + # Dead device trackers + - device_tracker.ipad_2 + - device_tracker.jessroom + - person.trashtonly + + # Dead/unavailable notify targets + - notify.ha_panel_1 + - notify.ha_panel_2 + - notify.ha_panel_2_2 + - notify.ha_panel_3 + - notify.jess_air + - notify.jess_room + - notify.jesss_ipad + - notify.car_lancer + - notify.cbt_log_bog + - notify.photoframe + - notify.livingroomframe + + # Misc unavailable entities + - sensor.total_devices_online + - sensor.opnsense_dhcp_leases + - media_player.party_mode + - media_player.all + - media_player.calendar_pc + - media_player.jess_room + - media_player.nesthub51f9 + - media_player.nesthubmax5fbe_2 + - sensor.openweathermap_dew_point + - sensor.openweathermap_uv_index + - switch.cloud_alexa + - switch.cloud_alexa_report_state + - switch.cloud_google + - switch.cloud_google_report_state + - switch.cloud_remote + - sensor.smart_power_strip_total_energy + - sensor.lego_aquarium_power_2 + - sensor.dishwasher_power_2