{
 "schema": 1,
 "generated_utc": "2026-08-13T04:32:23Z",
 "index_url": "https://booyaka101.github.io/hass-breakage-radar/index.json",
 "core_version": "2026.9",
 "core_tarball_sha256": "91dafef1b17854923cfd49bbeec9f8541d4f80cea4b810b012d08c134691c226",
 "catalog_source": "https://data-v2.hacs.xyz/integration/data.json",
 "coverage": {
  "catalog_total": 3088,
  "repos_scanned": 3088,
  "repos_delisted": 1,
  "repos_affected": 623,
  "repos_clean": 2447,
  "repos_unreachable": 19,
  "findings_total": 1573,
  "rules_published": 84,
  "rules_matchable": 34
 },
 "releases": {
  "2026.10": [
   "argoclima",
   "dual_smart_thermostat",
   "hisense_vidaa",
   "homeconnect_ws",
   "lutron_lip",
   "miele",
   "omlet_smart_coop",
   "ssh",
   "thermia",
   "virtual",
   "yandex_station"
  ],
  "2026.11": [
   "acwd",
   "agur",
   "aigues_barcelona",
   "anwb_energie_account",
   "be_electricity_prices",
   "be_water_prices",
   "beem_energy",
   "bosch",
   "bosch_ebike",
   "curgasnatural",
   "eauidf",
   "eaux_marseille",
   "edf_energy",
   "eg4_web_monitor",
   "ekz_ha",
   "eloverblik",
   "eloverblik_nordpool",
   "enea",
   "enelgrid",
   "energa_mobile",
   "energa_my_meter",
   "energiedaten",
   "engie_be",
   "enion",
   "enova_power",
   "esb_smart_meter",
   "eyeonwater",
   "fenix_tft",
   "flipped_energy",
   "fortum",
   "gazdebordeaux",
   "genesisenergy",
   "goliash",
   "greenchoice",
   "ha_pocketsmith",
   "ha_usms",
   "haggle",
   "haikubox",
   "helen_energy",
   "helios_forecast",
   "homewizard_cloud_watermeter",
   "hydropolis_valbonne",
   "i3x",
   "iec",
   "import_statistics",
   "ista_calista",
   "izypower_cloud",
   "jemenaoutlook",
   "karlstadsenergi",
   "kronoterm",
   "leakbot",
   "leneda",
   "merge_sensor_history",
   "minvandforsyning",
   "mypyllant",
   "mytpu",
   "netze_bw_portal",
   "nhc2",
   "novafos",
   "octopus_energy",
   "octopus_french",
   "octopus_germany",
   "octopus_spain_fork",
   "octopusenergy_oejp",
   "panasonic_ems2",
   "phyn",
   "rgds",
   "roomba_plus",
   "sapal",
   "sfpuc",
   "shelly_cloud_diy",
   "solar_plus_intelbras",
   "spook",
   "ssd_ims",
   "sungrow",
   "tauron_amiplus",
   "termoweb",
   "thames_water",
   "veolia",
   "veolia_water",
   "watersmart",
   "waviot_updater",
   "wnsm",
   "wrist_assistant",
   "zonneplan_one"
  ],
  "2027.5": [
   "dlink_presence",
   "honor_x3",
   "icloud3",
   "mind",
   "movistar_rft8115vw",
   "padavan_tracker",
   "pycupra",
   "tractive_custom",
   "ubee",
   "virtual",
   "volkswagencarnet",
   "webfleet"
  ],
  "2027.7": [
   "adaptive_cover",
   "biketrax",
   "car2home",
   "colota",
   "comma_ai",
   "cowboy",
   "eeveemobility",
   "growappy",
   "http_agent",
   "icloud3",
   "kippy",
   "leafspy",
   "mysmartbike",
   "padspan_ha",
   "petwalk",
   "phonetrack",
   "porscheconnect",
   "pyscript",
   "roomba_plus",
   "smarthashtag",
   "solcast_solar",
   "spoton",
   "sunlight_visualizer",
   "tryfi",
   "up_4014_tracker",
   "variable",
   "virtual",
   "webfleet",
   "xiaomi_cloud",
   "xiaomi_home",
   "xiaomi_miot"
  ],
  "2027.8": [
   "4noks_elios4you",
   "abb_fimer_pvi_vsn_rest",
   "ac_infinity",
   "actron_air",
   "adam_audio",
   "adaptive_cover",
   "adaptive_cover_pro",
   "adtpulse",
   "aecc_battery",
   "aegis_ajax",
   "ai_hub",
   "airtouch",
   "alphaess",
   "ambience",
   "android_management_api",
   "anker_solix",
   "anker_solix_official",
   "anycubic",
   "anycubic_cloud",
   "anycubic_wifi",
   "aprilaire_rs485",
   "aqara_advanced_lighting",
   "aqara_lanlink",
   "aqua_temp",
   "area_occupancy",
   "aritech_ats",
   "asset_intelligence",
   "asusrouter",
   "asys_ble",
   "attribute_as_sensor",
   "audiobookshelf",
   "august_access_codes",
   "automate",
   "autopi",
   "ave_dominaplus",
   "awox",
   "balena_cloud",
   "bambu_lab",
   "battery_controller",
   "battery_notes",
   "battery_sim",
   "bedrock_server_manager",
   "beny_wifi",
   "beurer_daylight_lamps",
   "bhyve",
   "bir",
   "ble_monitor",
   "blitzortung",
   "blueiris",
   "bms_ble",
   "bosch",
   "bosch_shc",
   "bose",
   "bravia_quad",
   "brilliant_mqtt",
   "bromic_smart_heat_link",
   "browser_mod",
   "brunner_eas",
   "bsport",
   "budgetbakers_wallet",
   "bureau_of_meteorology",
   "bwt_perla",
   "cashpilot",
   "centralite",
   "checkly",
   "chores4kids",
   "chuango_alarm",
   "circuitsetup_energy_analyzer",
   "climaveneta",
   "compit",
   "comwatt",
   "connectivity_monitor",
   "control4_mediaplayer",
   "controme",
   "correios_tracker",
   "counttogether",
   "cover_time_based",
   "cowboy",
   "crowdsec",
   "cudy_router",
   "cumulusmx",
   "custom_areas",
   "cync_lan",
   "cyrus_one",
   "dali_center",
   "dashie",
   "davis_vantage",
   "dawarich",
   "dectyr_rx5",
   "defa_power",
   "device_pulse",
   "diagral",
   "digitalstrom",
   "dimo",
   "dirigera_platform",
   "dockge",
   "dockhand",
   "domiara",
   "domintell",
   "domo",
   "drivvo",
   "duco_ventilation_sun_control",
   "ducobox",
   "duofern",
   "duwi_home",
   "dynamic_energy_contract_calculator",
   "dynamic_energy_cost",
   "e_redes_smart_metering_plus",
   "easycare_bywaterair",
   "eauidf",
   "ec_weather",
   "ecoflow_cloud",
   "ecoflow_ocean2",
   "ecowitt_local",
   "edgeos",
   "edinplus",
   "eeveemobility",
   "ef_ble",
   "eg4_web_monitor",
   "egi",
   "elektronny_gorod",
   "elenia",
   "eltako",
   "eltariff",
   "enea",
   "energiedaten",
   "energy_manager",
   "energyme",
   "engie_be",
   "enphase_ev",
   "entity_distance",
   "entity_guard",
   "epa_victoria_air_quality",
   "eppgrid",
   "espsomfy_rts",
   "espsomfy_rts_enhanced",
   "etekcity_fitness_scale_ble",
   "evcc_intg",
   "eveus",
   "evse_load_balancer",
   "ex_habridge",
   "fanimation",
   "fansync",
   "fems",
   "fluxcd_k8s",
   "fnos",
   "foldingathomecontrol",
   "foodsharing",
   "forgejo",
   "fritzbox_vpn",
   "froeling_lambdatronic_modbus",
   "froeling_s3200_modbus",
   "fusion_solar",
   "g4smobility",
   "gaf_masterflow",
   "gallagher_water",
   "gaming_status",
   "gardena_smart_local_preview",
   "gardena_smart_system_ng",
   "gasbuddy",
   "geely_connect",
   "get_euda_data",
   "givenergy_local",
   "globalcache_itach",
   "goecharger_api2",
   "govee",
   "grandstream_home",
   "gridx",
   "groupalarm",
   "growatt_modbus",
   "gs_alarm",
   "gumax_rf",
   "ha_aqara_devices",
   "ha_blueair",
   "ha_bosch_ebike",
   "ha_carrier",
   "ha_glinet",
   "ha_govee_led_ble",
   "ha_hatch",
   "ha_keenetic",
   "ha_kia_hyundai",
   "ha_transportnsw",
   "ha_vacuum_water_monitor",
   "ha_washdata",
   "habitron",
   "hacs",
   "haefele_connect_mesh",
   "hager_local",
   "haikubox",
   "hair",
   "hasl3",
   "hass_agent",
   "haven_lighting",
   "hcu_integration",
   "higoal",
   "hikconnect",
   "hikvision_next",
   "hiq",
   "hisense_vrf",
   "hitachi_yutaki",
   "home_connect_alt",
   "homee",
   "homelink",
   "homematicip_local",
   "homevolt_local",
   "homey_hass",
   "homgar",
   "honda_generator",
   "houzzkit_ai",
   "hoval_connect",
   "hpprinter",
   "hubitat",
   "hydronode",
   "hyxi_cloud",
   "icloud3",
   "idm_heatpump",
   "iguardstove",
   "imgw_pib_monitor",
   "imou_life",
   "inception",
   "intex_pool",
   "invisoutlet",
   "ipx800v5",
   "irsap_ha",
   "is3_export",
   "isdt_air_ble",
   "iungo",
   "jablotron100",
   "jellyha",
   "jemenaoutlook",
   "junghome",
   "keba_keenergy",
   "keymaster",
   "komodo",
   "kubernetes",
   "lampie",
   "lennoxs30",
   "leo_ntp",
   "leviton_load_center",
   "lifedomus",
   "lisios",
   "livebox",
   "localsky",
   "lock_code_manager",
   "locknalert_mqtt",
   "looko2",
   "lorawan",
   "lun_misto_air",
   "lutron_lip",
   "lydbro",
   "magnum_w_controller",
   "maintenance_supporter",
   "maison_protegee",
   "marstek_venus_energy_manager",
   "mconnect",
   "medication_tracker",
   "mega",
   "meraki_dashboard",
   "meraki_ha",
   "meross_lan",
   "meshcore_chat",
   "meteo_sentinelle",
   "meteoam",
   "meteobridge",
   "mhub",
   "midas",
   "mikrotik_extended",
   "mikrotik_router",
   "mindor_cloud",
   "miwa",
   "miwifi",
   "mlgw",
   "modbus_local_gateway",
   "monitormysolar",
   "montreal_snow_removal",
   "moonraker",
   "mopeka_ha",
   "mos",
   "mosoblgaz",
   "mqtt_device_sync",
   "mqtt_media_player",
   "mspa",
   "multi_user_scale_router",
   "must_inverter",
   "mycloud",
   "mydolphin_plus",
   "mygas",
   "myuplink",
   "necromancer",
   "neopool",
   "nest_legacy",
   "netatmo_bubendorff",
   "netro_watering",
   "netzooe_eservice",
   "never_dry",
   "nexa_bridge_x",
   "nexxtmove",
   "nmea2000",
   "nodarion",
   "nodered",
   "nuvo_serial",
   "oasis_mini",
   "ocado",
   "ocpp",
   "octopus_energy",
   "octopus_french",
   "octopus_germany",
   "octopusenergy_oejp",
   "omlet_smart_coop",
   "omv",
   "onekommafive",
   "onesmartcontrol",
   "onewire_sysbus",
   "open_epaper_link",
   "openai_tts",
   "opendisplay",
   "openems",
   "openhasp",
   "openirblaster",
   "openmediavault",
   "opennem",
   "openwrt",
   "openwrt_ubus",
   "openwrt_updater",
   "oralb_live",
   "orcommconnect",
   "ovms",
   "palgate",
   "pandascore",
   "pandora_cas",
   "parcelapp",
   "parqet",
   "pax_ble",
   "pdf_scrape",
   "pepper_c1",
   "periodic_min_max",
   "petkit",
   "petlibro",
   "pfsense",
   "philips_shaver",
   "philips_sonicare_ble",
   "pilot_wire_climate",
   "pitboss",
   "playnite_web_mqtt",
   "plum_ecomax",
   "pollenlevels",
   "powerpetdoor",
   "powersensor",
   "powervault",
   "ppa_contatto",
   "propresenter",
   "protector_net",
   "pv_management",
   "pv_management_fix",
   "pycupra",
   "qolsys_panel",
   "qsys_qrc",
   "quatt",
   "qube_heatpump",
   "qubino_wire_pilot",
   "qustodio",
   "rademacher",
   "rainpoint",
   "raritan_px",
   "rct_power",
   "recalbox",
   "red_energy",
   "refoss_rpc",
   "remeha_home",
   "remote_buttons",
   "renogy",
   "renpho_fitness_scale_ble",
   "ring_smoke_detectors",
   "robonect",
   "rointe",
   "roomba_plus",
   "sa_fuel_pricing",
   "samsungtv_smart",
   "samsungwam",
   "scaleway",
   "schellenberg_usb",
   "schwoerer_lueftung",
   "sdvoe",
   "securitas",
   "selve",
   "senso4s",
   "sessy",
   "sg_150",
   "shadow_control",
   "shelly_cloud_diy",
   "shinobi",
   "sickgear",
   "sigen",
   "simple_timer",
   "simplechores",
   "sinapsi_alfa",
   "skybellgen",
   "sleep_as_android_mqtt",
   "smappee_ev",
   "smarthomeshop",
   "smarthq",
   "smartthinq_sensors",
   "smartwater",
   "smarwi",
   "sofabaton_x1s",
   "solar_manager",
   "solar_plus_intelbras",
   "solarcharger",
   "solaredge_modbus_multi",
   "solarman",
   "solarwatt_manager",
   "solax_modbus",
   "solis_modbus",
   "solvis_control",
   "span_panel",
   "spook",
   "sproutlink",
   "starling_home_hub",
   "state_updated",
   "stiebel_eltron_isg",
   "strato_dyndns",
   "studer_next3",
   "sugar_valley_neopool",
   "sun_allocator",
   "sungrow",
   "sunlit",
   "sunlogin",
   "sunology",
   "sunricher_azoula",
   "surepcha",
   "swisscom_internetbox",
   "switch_fan",
   "switch_port_card_pro",
   "syncthing_extended",
   "synology_virtual_album",
   "ta_cmi",
   "tada",
   "tado_ce",
   "tado_hijack",
   "tapo_control",
   "tas_fuel_prices",
   "technitiumdns",
   "tedee_ble",
   "termoweb",
   "tewke",
   "thewashguide",
   "tibber_local",
   "tns_energo",
   "toyota",
   "tpms_ble",
   "traeger",
   "truenas",
   "truenas_ce",
   "ttlock_ble",
   "tuiss2ha",
   "tuya_cloud_ha_bridge",
   "tuya_unsupported_sensors",
   "twincat_iot_communicator",
   "ucams",
   "ufh_controller",
   "ugreen",
   "ukfuelfinder",
   "unfoldedcircle",
   "unifi_etherlighting",
   "unifi_insights",
   "unifi_play",
   "unifi_protect_sensors",
   "unifi_unas",
   "uniview_lapi",
   "unraid_api",
   "upgrait_heatcontrol",
   "utility_meter_next_gen",
   "vag_connect",
   "vantage",
   "variable",
   "verizon_fios",
   "view_assist",
   "vigicrues",
   "virtual",
   "visonic",
   "vivint",
   "volcano_hybrid",
   "vserver_ssh_stats",
   "vtherm_hysteresis",
   "vtherm_smartpi",
   "warema_wms",
   "waterius_ha",
   "weatherflow_forecast",
   "weatherlink",
   "webastoconnect",
   "welock",
   "wemportal",
   "whatsapp",
   "windcentrale",
   "wiser_by_feller",
   "wolf",
   "worx_vision_cloud",
   "wrist_assistant",
   "wyzeapi",
   "xcc",
   "xiaomi_gateway3",
   "xiaomi_home",
   "xiaomi_miot",
   "xtend_tuya",
   "yamaha_ynca",
   "yandex_station",
   "yeelight_pro",
   "ynblue",
   "yoin",
   "youfone",
   "zcsmower",
   "zendure_ha",
   "zepp2hass",
   "zivy_obraz",
   "zte_tracker",
   "zwift"
  ]
 },
 "rules": [
  {
   "id": "blog-deprecate-hass-argument-service-helpers-2026.10",
   "kind": "prose",
   "symbol": "deprecate hass argument service helpers",
   "message": "Support for the hass argument will be removed in Home Assistant 2026.10.",
   "breaks_in": "2026.10",
   "source": "https://developers.home-assistant.io/blog/2025/09/22/deprecate-hass-argument-service-helpers/",
   "origin": "blog",
   "confidence": "info",
   "matchable": false,
   "expired": false,
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-call-async-extract-config-entry-ids",
   "kind": "call",
   "symbol": "async_extract_config_entry_ids",
   "message": "passes `hass` to `async_extract_config_entry_ids`, where the leading `hass` argument is ignored and is removed in Home Assistant 2026.10. Drop the argument from the call.",
   "breaks_in": "2026.10",
   "source": "homeassistant/helpers/service.py:418",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call_hass_argument",
    "names": [
     "async_extract_config_entry_ids"
    ],
    "modules": [
     "homeassistant.helpers.service"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/service.py#L418",
   "hits": 4,
   "repos_hit": 4
  },
  {
   "id": "core-call-async-extract-entities",
   "kind": "call",
   "symbol": "async_extract_entities",
   "message": "passes `hass` to `async_extract_entities`, where the leading `hass` argument is ignored and is removed in Home Assistant 2026.10. Drop the argument from the call.",
   "breaks_in": "2026.10",
   "source": "homeassistant/helpers/service.py:364",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call_hass_argument",
    "names": [
     "async_extract_entities"
    ],
    "modules": [
     "homeassistant.helpers.service"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/service.py#L364",
   "hits": 2,
   "repos_hit": 1
  },
  {
   "id": "core-call-async-extract-entity-ids",
   "kind": "call",
   "symbol": "async_extract_entity_ids",
   "message": "passes `hass` to `async_extract_entity_ids`, where the leading `hass` argument is ignored and is removed in Home Assistant 2026.10. Drop the argument from the call.",
   "breaks_in": "2026.10",
   "source": "homeassistant/helpers/service.py:403",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call_hass_argument",
    "names": [
     "async_extract_entity_ids"
    ],
    "modules": [
     "homeassistant.helpers.service"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/service.py#L403",
   "hits": 4,
   "repos_hit": 4
  },
  {
   "id": "core-call-extract-entity-ids",
   "kind": "call",
   "symbol": "extract_entity_ids",
   "message": "passes `hass` to `extract_entity_ids`, where the leading `hass` argument is ignored and is removed in Home Assistant 2026.10. Drop the argument from the call.",
   "breaks_in": "2026.10",
   "source": "homeassistant/helpers/service.py:351",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call_hass_argument",
    "names": [
     "extract_entity_ids"
    ],
    "modules": [
     "homeassistant.helpers.service"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/service.py#L351",
   "hits": 1,
   "repos_hit": 1
  },
  {
   "id": "core-call-verify-domain-control",
   "kind": "call",
   "symbol": "verify_domain_control",
   "message": "passes `hass` to `verify_domain_control`, where the leading `hass` argument is ignored and is removed in Home Assistant 2026.10. Drop the argument from the call.",
   "breaks_in": "2026.10",
   "source": "homeassistant/helpers/service.py:1020",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call_hass_argument",
    "names": [
     "verify_domain_control"
    ],
    "modules": [
     "homeassistant.helpers.service"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/service.py#L1020",
   "hits": 3,
   "repos_hit": 2
  },
  {
   "id": "core-issue-async-setup-platform-2026.10",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2026.10",
   "source": "homeassistant/components/decora_wifi/light.py:57",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 4,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/decora_wifi/light.py#L57",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-deprecate-yaml-issue-2026.10",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2026.10",
   "source": "homeassistant/components/picotts/issue.py:12",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/picotts/issue.py#L12",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "blog-recorder-statistics-api-changes-2026.11",
   "kind": "prose",
   "symbol": "recorder statistics api changes",
   "message": "Not specifying the unit_class is deprecated and will stop working in Home Assistant Core 2026.11.",
   "breaks_in": "2026.11",
   "source": "https://developers.home-assistant.io/blog/2025/10/16/recorder-statistics-api-changes/",
   "origin": "blog",
   "confidence": "info",
   "matchable": false,
   "expired": false,
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-call-async-add-external-statistics-missing-unit-class",
   "kind": "call",
   "symbol": "async_add_external_statistics(missing unit_class)",
   "message": "doesn't specify unit_class when calling async_add_external_statistics",
   "breaks_in": "2026.11",
   "source": "homeassistant/components/recorder/statistics.py:2890",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call_missing_kwarg",
    "names": [
     "async_add_external_statistics"
    ],
    "modules": [
     "homeassistant.components.recorder.statistics"
    ],
    "kwarg": "unit_class"
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/recorder/statistics.py#L2890",
   "hits": 108,
   "repos_hit": 63
  },
  {
   "id": "core-call-async-import-statistics-missing-mean-type",
   "kind": "call",
   "symbol": "async_import_statistics(missing mean_type)",
   "message": "doesn't specify mean_type when calling async_import_statistics",
   "breaks_in": "2026.11",
   "source": "homeassistant/components/recorder/statistics.py:2847",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call_missing_kwarg",
    "names": [
     "async_import_statistics"
    ],
    "modules": [
     "homeassistant.components.recorder.statistics"
    ],
    "kwarg": "mean_type"
   },
   "expired": false,
   "occurrences": 2,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/recorder/statistics.py#L2847",
   "hits": 38,
   "repos_hit": 25
  },
  {
   "id": "core-call-async-import-statistics-missing-unit-class",
   "kind": "call",
   "symbol": "async_import_statistics(missing unit_class)",
   "message": "doesn't specify unit_class when calling async_import_statistics",
   "breaks_in": "2026.11",
   "source": "homeassistant/components/recorder/statistics.py:2853",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call_missing_kwarg",
    "names": [
     "async_import_statistics"
    ],
    "modules": [
     "homeassistant.components.recorder.statistics"
    ],
    "kwarg": "unit_class"
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/recorder/statistics.py#L2853",
   "hits": 38,
   "repos_hit": 25
  },
  {
   "id": "core-call-async-update-statistics-metadata-missing-unit-class",
   "kind": "call",
   "symbol": "async_update_statistics_metadata(missing unit_class)",
   "message": "doesn't specify unit_class when calling async_update_statistics_metadata",
   "breaks_in": "2026.11",
   "source": "homeassistant/components/recorder/statistics.py:990",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call_missing_kwarg",
    "names": [
     "async_update_statistics_metadata"
    ],
    "modules": [
     "homeassistant.components.recorder.statistics"
    ],
    "kwarg": "unit_class"
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/recorder/statistics.py#L990",
   "hits": 3,
   "repos_hit": 2
  },
  {
   "id": "core-issue-async-setup-2026.11",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2026.11",
   "source": "homeassistant/components/shopping_list/__init__.py:50",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/shopping_list/__init__.py#L50",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-async-setup-async-check-deprecation-2026.11",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2026.11",
   "source": "homeassistant/components/homeassistant/__init__.py:459",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/homeassistant/__init__.py#L459",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-async-setup-platform-2026.11",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2026.11",
   "source": "homeassistant/components/pjlink/media_player.py:56",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 2,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/pjlink/media_player.py#L56",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-deprecated-dismiss-action-call-2026.11",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2026.11",
   "source": "homeassistant/components/html5/issue.py:42",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/html5/issue.py#L42",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-deprecated-notify-action-call-2026.11",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2026.11",
   "source": "homeassistant/components/html5/issue.py:22",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/html5/issue.py#L22",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-repair-issue-cleanup-2026.11",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2026.11",
   "source": "homeassistant/components/fritz/button.py:82",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/fritz/button.py#L82",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-repair-issue-firmware-update-2026.11",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2026.11",
   "source": "homeassistant/components/fritz/button.py:109",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/fritz/button.py#L109",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-classbase-targetselectordata",
   "kind": "classbase",
   "symbol": "TargetSelectorData",
   "message": "TargetSelection",
   "breaks_in": "2026.12",
   "source": "homeassistant/helpers/target.py:106",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "classbase",
    "bases": [
     "TargetSelectorData"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/target.py#L106",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-check-deprecated-fan-speed-entity-2026.12",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2026.12",
   "source": "homeassistant/components/lg_thinq/number.py:191",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/lg_thinq/number.py#L191",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-create-issue-yaml-migration-2026.12",
   "kind": "issue",
   "symbol": "",
   "message": "uses ``, deprecated and removed in Home Assistant 2026.12.",
   "breaks_in": "2026.12",
   "source": "homeassistant/components/rflink/utils.py:33",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/rflink/utils.py#L33",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-normalize-partial-options-data-2026.12",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2026.12",
   "source": "homeassistant/components/hassio/services.py:96",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/hassio/services.py#L96",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-opnsenseconfigflow-abort-import-2026.12",
   "kind": "issue",
   "symbol": "self.hass",
   "message": "self.hass",
   "breaks_in": "2026.12",
   "source": "homeassistant/components/opnsense/config_flow.py:298",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/opnsense/config_flow.py#L298",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-opnsenseconfigflow-async-step-import-2026.12",
   "kind": "issue",
   "symbol": "self.hass",
   "message": "self.hass",
   "breaks_in": "2026.12",
   "source": "homeassistant/components/opnsense/config_flow.py:221",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 2,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/opnsense/config_flow.py#L221",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-has-an-update-listener-and-should-use-it-for-scheduling-a-reload",
   "kind": "prose",
   "symbol": "has an update listener and should use it for scheduling a reload",
   "message": "has an update listener and should use it for scheduling a reload",
   "breaks_in": "2026.12",
   "source": "homeassistant/config_entries.py:3161",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 2,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/config_entries.py#L3161",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-passes-a-non-string-value-of-type-as-to-the-device-registry",
   "kind": "prose",
   "symbol": "passes a non-string value of type {...} as {...} to the device registry",
   "message": "passes a non-string value of type {...} as {...} to the device registry",
   "breaks_in": "2026.12",
   "source": "homeassistant/helpers/device_registry.py:315",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/device_registry.py#L315",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-temperatureconverter-convert-interval",
   "kind": "prose",
   "symbol": "TemperatureConverter.convert_interval",
   "message": "TemperatureDeltaConverter.convert",
   "breaks_in": "2026.12",
   "source": "homeassistant/util/unit_conversion.py:872",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/util/unit_conversion.py#L872",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-call-async-register-info",
   "kind": "call",
   "symbol": "async_register_info",
   "message": "calls system_health.async_register_info, which is deprecated; add a system_health platform instead",
   "breaks_in": "2027.1",
   "source": "homeassistant/components/system_health/__init__.py:55",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call",
    "names": [
     "async_register_info"
    ],
    "modules": [
     "homeassistant.components.system_health"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/system_health/__init__.py#L55",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-async-deprecate-yaml-issue-2027.1",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2027.1",
   "source": "homeassistant/components/smtp/issue.py:23",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 2,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/smtp/issue.py#L23",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-async-setup-entry-2027.1",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2027.1",
   "source": "homeassistant/components/mqtt/__init__.py:527",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/mqtt/__init__.py#L527",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-async-setup-scanner-2027.1",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2027.1",
   "source": "homeassistant/components/swisscom/device_tracker.py:34",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/swisscom/device_tracker.py#L34",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-create-deprecated-behavior-issue-2027.1",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2027.1",
   "source": "homeassistant/helpers/trigger.py:332",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/trigger.py#L332",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-call-async-generate-entity-id",
   "kind": "call",
   "symbol": "async_generate_entity_id",
   "message": "calls `entity_registry.async_generate_entity_id`, which is deprecated and will be removed in Home Assistant 2027.2; use `entity_registry.async_get_available_entity_id` instead",
   "breaks_in": "2027.2",
   "source": "homeassistant/helpers/entity_registry.py:1287",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call",
    "names": [
     "async_generate_entity_id"
    ],
    "modules": [
     "homeassistant.helpers.entity_registry"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/entity_registry.py#L1287",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-call-async-render-no-api-prompt",
   "kind": "call",
   "symbol": "async_render_no_api_prompt",
   "message": "an empty string",
   "breaks_in": "2027.2",
   "source": "homeassistant/helpers/llm.py:56",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call",
    "names": [
     "async_render_no_api_prompt"
    ],
    "modules": [
     "homeassistant.helpers.llm"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/llm.py#L56",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-async-import-2027.2",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2027.2",
   "source": "homeassistant/components/aqualogic/__init__.py:61",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 2,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/aqualogic/__init__.py#L61",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-async-load-config-2027.2",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2027.2",
   "source": "homeassistant/components/http/config.py:222",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 3,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/http/config.py#L222",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-deprecate-2027.2",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2027.2",
   "source": "homeassistant/components/netatmo/services.py:27",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/netatmo/services.py#L27",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-deprecated-event-bus-2027.2",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2027.2",
   "source": "homeassistant/components/html5/issue.py:62",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/html5/issue.py#L62",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-sets-a-group-attribute-on-entity-which-is-not-a-group-instance",
   "kind": "prose",
   "symbol": "sets a `group` attribute on entity {...} which is not a `Group` instance",
   "message": "sets a `group` attribute on entity {...} which is not a `Group` instance",
   "breaks_in": "2027.2",
   "source": "homeassistant/helpers/entity.py:1559",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/entity.py#L1559",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-sets-an-invalid-entity-id-in-most-cases-entities-should-not-set-entit",
   "kind": "prose",
   "symbol": "sets an invalid entity ID: '{...}'. In most cases, entities should not set entit...",
   "message": "sets an invalid entity ID: '{...}'. In most cases, entities should not set entity_id, but if they do, it should be a valid entity ID",
   "breaks_in": "2027.2",
   "source": "homeassistant/helpers/entity_platform.py:891",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/entity_platform.py#L891",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "blog-labs-async-listen-deprecation-2027.3",
   "kind": "prose",
   "symbol": "labs async listen deprecation",
   "message": "async_listen will be removed in Home Assistant 2027.3.",
   "breaks_in": "2027.3",
   "source": "https://developers.home-assistant.io/blog/2026/02/16/labs-async-listen-deprecation/",
   "origin": "blog",
   "confidence": "info",
   "matchable": false,
   "expired": false,
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-deprecated-notify-action-call-2027.3",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2027.3",
   "source": "homeassistant/components/smtp/issue.py:59",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/smtp/issue.py#L59",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-calls-async-listen-which-is-deprecated-use-async-subscribe-preview-feature",
   "kind": "prose",
   "symbol": "calls `async_listen` which is deprecated, use `async_subscribe_preview_feature` ...",
   "message": "calls `async_listen` which is deprecated, use `async_subscribe_preview_feature` instead",
   "breaks_in": "2027.3",
   "source": "homeassistant/components/labs/helpers.py:92",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/labs/helpers.py#L92",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "blog-doorbell-standard-event-type-2027.4",
   "kind": "prose",
   "symbol": "doorbell standard event type",
   "message": "Doorbell entities that do not include DoorbellEventType.RING will log a deprecation warning and will stop working in Home Assistant 2027.4 .",
   "breaks_in": "2027.4",
   "source": "https://developers.home-assistant.io/blog/2026/04/15/doorbell-standard-event-type/",
   "origin": "blog",
   "confidence": "info",
   "matchable": false,
   "expired": false,
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "blog-entity-id-mismatched-domain-deprecated-2027.5",
   "kind": "prose",
   "symbol": "entity id mismatched domain deprecated",
   "message": "Setting an entity ID with the wrong domain will log a deprecation warning and will stop working in Home Assistant 2027.5 .",
   "breaks_in": "2027.5",
   "source": "https://developers.home-assistant.io/blog/2026/04/07/entity-id-mismatched-domain-deprecated/",
   "origin": "blog",
   "confidence": "info",
   "matchable": false,
   "expired": false,
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "blog-legacy-device-tracker-deprecation-2027.5",
   "kind": "prose",
   "symbol": "legacy device tracker deprecation",
   "message": "Deprecation of legacy device tracker platform API | Home Assistant Developer Docs Skip to main content Developers Home Assistant Overview Core Frontend Supervisor Apps Operating System Voice Translations Android Apple platforms Misc Blog Recent posts 2026 Frontend component updates in 2026.8 Standard event types for button event entities Devices are restricted to a single config entry and at mo...",
   "breaks_in": "2027.5",
   "source": "https://developers.home-assistant.io/blog/2026/04/20/legacy-device-tracker-deprecation/",
   "origin": "blog",
   "confidence": "info",
   "matchable": false,
   "expired": false,
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-issue-async-setup-integration-async-see-service-2027.5",
   "kind": "issue",
   "symbol": "hass",
   "message": "hass",
   "breaks_in": "2027.5",
   "source": "homeassistant/components/device_tracker/legacy.py:236",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/device_tracker/legacy.py#L236",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-sets-an-entity-id-with-wrong-domain-expected-domain-is",
   "kind": "prose",
   "symbol": "sets an entity ID with wrong domain: '{...}'. Expected domain is '{...}'",
   "message": "sets an entity ID with wrong domain: '{...}'. Expected domain is '{...}'",
   "breaks_in": "2027.5",
   "source": "homeassistant/helpers/entity_platform.py:908",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/entity_platform.py#L908",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "legacy-device-tracker-platform",
   "kind": "moduledef",
   "symbol": "setup_scanner",
   "message": "Implements the legacy (non-config-entry) device tracker platform API. 'The legacy (non-config-entry) device tracker platform API is deprecated and will be removed in the Home Assistant 2027.5 release.' Migrate to the modern device tracker platform API (config entry + ScannerEntity/TrackerEntity).",
   "breaks_in": "2027.5",
   "source": "https://developers.home-assistant.io/blog/2026/04/20/legacy-device-tracker-deprecation/",
   "origin": "manual",
   "confidence": "high",
   "replacement": "https://developers.home-assistant.io/docs/core/entity/device-tracker",
   "match": {
    "type": "moduledef",
    "names": [
     "setup_scanner",
     "async_setup_scanner",
     "get_scanner",
     "async_get_scanner"
    ],
    "files": [
     "device_tracker.py"
    ]
   },
   "matchable": true,
   "expired": false,
   "hits": 12,
   "repos_hit": 12
  },
  {
   "id": "legacy-device-tracker-scanner-class",
   "kind": "classbase",
   "symbol": "DeviceScanner",
   "message": "Subclasses homeassistant.components.device_tracker.DeviceScanner, part of the legacy device tracker platform API removed in Home Assistant 2027.5. Migrate to ScannerEntity on a config entry.",
   "breaks_in": "2027.5",
   "source": "https://developers.home-assistant.io/blog/2026/04/20/legacy-device-tracker-deprecation/",
   "origin": "manual",
   "confidence": "high",
   "replacement": "https://developers.home-assistant.io/docs/core/entity/device-tracker",
   "match": {
    "type": "classbase",
    "bases": [
     "DeviceScanner"
    ],
    "files": [
     "device_tracker.py"
    ]
   },
   "matchable": true,
   "expired": false,
   "hits": 6,
   "repos_hit": 6
  },
  {
   "id": "core-call-flowhandler-show-advanced-options",
   "kind": "call",
   "symbol": "FlowHandler.show_advanced_options",
   "message": "a user friendly way to present additional options in the UI, for example a section",
   "breaks_in": "2027.6",
   "source": "homeassistant/data_entry_flow.py:646",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call",
    "names": [
     "show_advanced_options"
    ],
    "modules": [
     "homeassistant.data_entry_flow"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/data_entry_flow.py#L646",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-classbase-infraredentitydescription",
   "kind": "classbase",
   "symbol": "InfraredEntityDescription",
   "message": "homeassistant.components.infrared.InfraredEmitterEntityDescription",
   "breaks_in": "2027.6",
   "source": "homeassistant/components/infrared/entity.py:181",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "classbase",
    "bases": [
     "InfraredEntityDescription"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/infrared/entity.py#L181",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-infraredentity",
   "kind": "prose",
   "symbol": "InfraredEntity",
   "message": "homeassistant.components.infrared.InfraredEmitterEntity",
   "breaks_in": "2027.6",
   "source": "homeassistant/components/infrared/entity.py:189",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/infrared/entity.py#L189",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-that-calls-the-mqtt-publish-api-with-none-for-qos-or-retain-the-qos-argumen",
   "kind": "prose",
   "symbol": "that calls the MQTT publish API with `None` for qos or retain. The `qos` argumen...",
   "message": "that calls the MQTT publish API with `None` for qos or retain. The `qos` argument must be an `int`, and the `retain` argument must be a `bool`",
   "breaks_in": "2027.6",
   "source": "homeassistant/components/mqtt/client.py:199",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/components/mqtt/client.py#L199",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "blog-device-tracker-changes-2027.7",
   "kind": "prose",
   "symbol": "device tracker changes",
   "message": "Changes to device tracker entity models | Home Assistant Developer Docs Skip to main content Developers Home Assistant Overview Core Frontend Supervisor Apps Operating System Voice Translations Android Apple platforms Misc Blog Recent posts 2026 Frontend component updates in 2026.8 Standard event types for button event entities Devices are restricted to a single config entry and at most one sub...",
   "breaks_in": "2027.7",
   "source": "https://developers.home-assistant.io/blog/2026/06/15/device-tracker-changes/",
   "origin": "blog",
   "confidence": "info",
   "matchable": false,
   "expired": false,
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-call-get-astral-location",
   "kind": "call",
   "symbol": "get_astral_location",
   "message": "homeassistant.helpers.sun.get_astral_observer",
   "breaks_in": "2027.7",
   "source": "homeassistant/helpers/sun.py:20",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call",
    "names": [
     "get_astral_location"
    ],
    "modules": [
     "homeassistant.helpers.sun"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/sun.py#L20",
   "hits": 4,
   "repos_hit": 4
  },
  {
   "id": "core-call-get-location-astral-event-next",
   "kind": "call",
   "symbol": "get_location_astral_event_next",
   "message": "homeassistant.helpers.sun.get_observer_astral_event_next",
   "breaks_in": "2027.7",
   "source": "homeassistant/helpers/sun.py:60",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call",
    "names": [
     "get_location_astral_event_next"
    ],
    "modules": [
     "homeassistant.helpers.sun"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/sun.py#L60",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "device-tracker-battery-level",
   "kind": "attr",
   "symbol": "battery_level",
   "message": "'The battery_level property has been deprecated in all device tracker base classes, and will stop working in Home Assistant Core 2027.7.' Expose the battery as a separate sensor entity with device_class battery instead.",
   "breaks_in": "2027.7",
   "source": "https://developers.home-assistant.io/blog/2026/06/15/device-tracker-changes",
   "origin": "manual",
   "confidence": "high",
   "match": {
    "type": "attr",
    "names": [
     "battery_level"
    ],
    "files": [
     "device_tracker.py"
    ],
    "in_class_base": [
     "TrackerEntity",
     "ScannerEntity",
     "BaseTrackerEntity"
    ]
   },
   "matchable": true,
   "expired": false,
   "hits": 20,
   "repos_hit": 19
  },
  {
   "id": "device-tracker-location-name",
   "kind": "attr",
   "symbol": "location_name",
   "message": "'The location_name property of TrackerEntity has been deprecated, and will stop working in Home Assistant Core 2027.7.' Set the entity state from latitude/longitude and let Home Assistant resolve the zone.",
   "breaks_in": "2027.7",
   "source": "https://developers.home-assistant.io/blog/2026/06/15/device-tracker-changes",
   "origin": "manual",
   "confidence": "high",
   "match": {
    "type": "attr",
    "names": [
     "location_name"
    ],
    "files": [
     "device_tracker.py"
    ],
    "in_class_base": [
     "TrackerEntity",
     "BaseTrackerEntity"
    ]
   },
   "matchable": true,
   "expired": false,
   "hits": 15,
   "repos_hit": 13
  },
  {
   "id": "async-initialize-triggers-home-assistant-start",
   "kind": "call",
   "symbol": "async_initialize_triggers(home_assistant_start=...)",
   "message": "'The dedicated home_assistant_start flag of async_initialize_triggers is deprecated and will be removed in Home Assistant Core 2027.8.' Listen for the homeassistant_started event from the trigger itself instead.",
   "breaks_in": "2027.8",
   "source": "https://developers.home-assistant.io/blog/2026/06/30/async-initialize-triggers-home-assistant-start-deprecated",
   "origin": "manual",
   "confidence": "high",
   "match": {
    "type": "call_kwarg",
    "names": [
     "async_initialize_triggers"
    ],
    "kwargs": [
     "home_assistant_start"
    ]
   },
   "matchable": true,
   "expired": false,
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "blog-async-initialize-triggers-home-assistant-start-deprecated-2027.8",
   "kind": "prose",
   "symbol": "async initialize triggers home assistant start deprecated",
   "message": "Deprecation of the home_assistant_start flag of async_initialize_triggers | Home Assistant Developer Docs Skip to main content Developers Home Assistant Overview Core Frontend Supervisor Apps Operating System Voice Translations Android Apple platforms Misc Blog Recent posts 2026 Frontend component updates in 2026.8 Standard event types for button event entities Devices are restricted to a singl...",
   "breaks_in": "2027.8",
   "source": "https://developers.home-assistant.io/blog/2026/06/30/async-initialize-triggers-home-assistant-start-deprecated/",
   "origin": "blog",
   "confidence": "info",
   "matchable": false,
   "duplicate_of_matchable_release": true,
   "expired": false,
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "blog-device-registry-single-config-entry-2027.8",
   "kind": "prose",
   "symbol": "device registry single config entry",
   "message": "Unless noted otherwise, deprecated functionality remains supported until Home Assistant Core 2027.8.",
   "breaks_in": "2027.8",
   "source": "https://developers.home-assistant.io/blog/2026/07/21/device-registry-single-config-entry/",
   "origin": "blog",
   "confidence": "info",
   "matchable": false,
   "expired": false,
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-call-async-device-info-to-link-from-device-id",
   "kind": "call",
   "symbol": "async_device_info_to_link_from_device_id",
   "message": "calls async_device_info_to_link_from_device_id, which is deprecated and always returns None: a device_info carrying another device's identifiers implicitly added the caller's config entry to that device, which a single-config-entry device can't represent. Set entity.device_entry to the target device instead",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/device.py:68",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call",
    "names": [
     "async_device_info_to_link_from_device_id"
    ],
    "modules": [
     "homeassistant.helpers.device"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/device.py#L68",
   "hits": 2,
   "repos_hit": 2
  },
  {
   "id": "core-call-async-device-info-to-link-from-entity",
   "kind": "call",
   "symbol": "async_device_info_to_link_from_entity",
   "message": "calls async_device_info_to_link_from_entity, which is deprecated and always returns None: a device_info carrying another device's identifiers implicitly added the caller's config entry to that device, which a single-config-entry device can't represent. Set entity.device_entry = async_entity_id_to_device(hass, source_entity_id) instead",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/device.py:47",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call",
    "names": [
     "async_device_info_to_link_from_entity"
    ],
    "modules": [
     "homeassistant.helpers.device"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/device.py#L47",
   "hits": 5,
   "repos_hit": 2
  },
  {
   "id": "core-call-async-get-or-create-a",
   "kind": "call",
   "symbol": "async_get_or_create(a=...)",
   "message": "calls `device_registry.async_get_or_create` with a `via_device`, which is deprecated because device identifiers are no longer unique; pass `via_device_id` instead",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/device_registry.py:1816",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call_kwarg",
    "names": [
     "async_get_or_create"
    ],
    "modules": [
     "homeassistant.helpers.device_registry"
    ],
    "kwargs": [
     "a"
    ]
   },
   "expired": false,
   "occurrences": 2,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/device_registry.py#L1816",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-call-async-handle-source-entity-changes-add-helper-config-entry-to-device",
   "kind": "call",
   "symbol": "async_handle_source_entity_changes(add_helper_config_entry_to_device=...)",
   "message": "calls async_handle_source_entity_changes with add_helper_config_entry_to_device, which no longer has any effect",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/helper_integration.py:51",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call_kwarg",
    "names": [
     "async_handle_source_entity_changes"
    ],
    "modules": [
     "homeassistant.helpers.helper_integration"
    ],
    "kwargs": [
     "add_helper_config_entry_to_device"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/helper_integration.py#L51",
   "hits": 2,
   "repos_hit": 2
  },
  {
   "id": "core-call-async-remove-helper-config-entry-from-source-device",
   "kind": "call",
   "symbol": "async_remove_helper_config_entry_from_source_device",
   "message": "homeassistant.helpers.helper_integration.async_remove_helper_devices",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/helper_integration.py:289",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call",
    "names": [
     "async_remove_helper_config_entry_from_source_device"
    ],
    "modules": [
     "homeassistant.helpers.helper_integration"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/helper_integration.py#L289",
   "hits": 7,
   "repos_hit": 7
  },
  {
   "id": "core-call-async-remove-stale-devices-links-keep-current-device",
   "kind": "call",
   "symbol": "async_remove_stale_devices_links_keep_current_device",
   "message": "calls async_remove_stale_devices_links_keep_current_device, which is deprecated and does nothing: a device belongs to a single config entry, so a helper no longer adds its config entry to another device. Call homeassistant.helpers.helper_integration.async_remove_helper_devices with remove_all_devices=True instead",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/device.py:118",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call",
    "names": [
     "async_remove_stale_devices_links_keep_current_device"
    ],
    "modules": [
     "homeassistant.helpers.device"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/device.py#L118",
   "hits": 3,
   "repos_hit": 3
  },
  {
   "id": "core-call-async-remove-stale-devices-links-keep-entity-device",
   "kind": "call",
   "symbol": "async_remove_stale_devices_links_keep_entity_device",
   "message": "calls async_remove_stale_devices_links_keep_entity_device, which is deprecated and does nothing: a device belongs to a single config entry, so a helper no longer adds its config entry to the source device. Call homeassistant.helpers.helper_integration.async_remove_helper_devices with remove_all_devices=True instead",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/device.py:93",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call",
    "names": [
     "async_remove_stale_devices_links_keep_entity_device"
    ],
    "modules": [
     "homeassistant.helpers.device"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/device.py#L93",
   "hits": 4,
   "repos_hit": 3
  },
  {
   "id": "core-call-async-update-device-one",
   "kind": "call",
   "symbol": "async_update_device(one=...)",
   "message": "calls `device_registry.async_update_device` with one of `add_config_entry_id`, `add_config_subentry_id`, `remove_config_entry_id` or `remove_config_subentry_id`; a device now belongs to a single config entry and subentry. Move a device with `new_config_entry_id` and/or `new_config_subentry_id`, or remove it with `async_remove_device`",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/device_registry.py:2644",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": true,
   "match": {
    "type": "call_kwarg",
    "names": [
     "async_update_device"
    ],
    "modules": [
     "homeassistant.helpers.device_registry"
    ],
    "kwargs": [
     "one"
    ]
   },
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/device_registry.py#L2644",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-assigns-an-existing-device-to-a-different-config-subentry-by-calling-async-get",
   "kind": "prose",
   "symbol": "assigns an existing device to a different config subentry, by calling `async_get...",
   "message": "assigns an existing device to a different config subentry, by calling `async_get_or_create` or by adding entities from several subentries that share a device; this silently moves the device. A device belongs to one subentry - keep a shared device in a single subentry, or move it with `async_update_device`",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/device_registry.py:1972",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/device_registry.py#L1972",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-attempts-to-attach-a-device-to-an-entity",
   "kind": "prose",
   "symbol": "attempts to attach a device to an entity {...}",
   "message": "attempts to attach a device to an entity {...}",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/entity_platform.py:844",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/entity_platform.py#L844",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-calls-device-registry-async-get-device-which-is-deprecated-because-device-ide",
   "kind": "prose",
   "symbol": "calls `device_registry.async_get_device`, which is deprecated because device ide...",
   "message": "calls `device_registry.async_get_device`, which is deprecated because device identifiers and connections are no longer unique across config entries; use `async_get_device_by_identifier`, `async_get_device_by_connection` or `async_get_devices` instead",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/device_registry.py:1541",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/device_registry.py#L1541",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-passes-home-assistant-start-to-async-initialize-triggers-which-is-deprecate",
   "kind": "prose",
   "symbol": "passes `home_assistant_start` to `async_initialize_triggers`, which is deprecate...",
   "message": "passes `home_assistant_start` to `async_initialize_triggers`, which is deprecated and will be removed in Home Assistant 2027.8; the parameter no longer has any effect",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/trigger.py:1837",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/trigger.py#L1837",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-passes-the-id-of-a-pre-migration-composite-device-as-via-device-id-pass",
   "kind": "prose",
   "symbol": "passes the id of a pre-migration composite device {...} as `via_device_id`; pass...",
   "message": "passes the id of a pre-migration composite device {...} as `via_device_id`; pass the id of a single device instead, e.g. one returned by async_get_device_by_identifier",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/device_registry.py:1704",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/device_registry.py#L1704",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-sets-disabled-by-to-deviceentrydisabler-config-entry-the-enabled-config-en",
   "kind": "prose",
   "symbol": "sets disabled_by to DeviceEntryDisabler.CONFIG_ENTRY {...} the enabled config en...",
   "message": "sets disabled_by to DeviceEntryDisabler.CONFIG_ENTRY {...} the enabled config entry {...}",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/device_registry.py:2448",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/device_registry.py#L2448",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "core-prose-sets-disabled-by-to-none-the-disabled-config-entry",
   "kind": "prose",
   "symbol": "sets disabled_by to None {...} the disabled config entry {...}",
   "message": "sets disabled_by to None {...} the disabled config entry {...}",
   "breaks_in": "2027.8",
   "source": "homeassistant/helpers/device_registry.py:2437",
   "origin": "core-ast",
   "confidence": "medium",
   "matchable": false,
   "expired": false,
   "occurrences": 1,
   "source_url": "https://github.com/home-assistant/core/blob/dev/homeassistant/helpers/device_registry.py#L2437",
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "device-entry-config-entries",
   "kind": "attr",
   "symbol": "DeviceEntry.config_entries",
   "message": "DeviceEntry.config_entries is deprecated -- 'Deprecated, use DeviceEntry.config_entry_id instead.' Removed in Home Assistant Core 2027.8. Not auto-detected: the attribute name 'config_entries' is also the ubiquitous hass.config_entries, so a static matcher would fire on nearly every integration. Check by hand if your code reads .config_entries off a DeviceEntry.",
   "breaks_in": "2027.8",
   "source": "https://developers.home-assistant.io/blog/2026/07/21/device-registry-single-config-entry",
   "origin": "manual",
   "confidence": "low",
   "replacement": "DeviceEntry.config_entry_id",
   "matchable": false,
   "expired": false,
   "hits": 0,
   "repos_hit": 0
  },
  {
   "id": "device-entry-primary-config-entry",
   "kind": "attr",
   "symbol": "DeviceEntry.primary_config_entry",
   "message": "DeviceEntry.primary_config_entry is deprecated and removed in Home Assistant Core 2027.8 -- 'Deprecated, use DeviceEntry.config_entry_id instead.' Devices are now restricted to a single config entry.",
   "breaks_in": "2027.8",
   "source": "https://developers.home-assistant.io/blog/2026/07/21/device-registry-single-config-entry",
   "origin": "manual",
   "confidence": "high",
   "replacement": "DeviceEntry.config_entry_id",
   "match": {
    "type": "attr_access",
    "names": [
     "primary_config_entry",
     "config_entries_subentries"
    ]
   },
   "matchable": true,
   "expired": false,
   "hits": 34,
   "repos_hit": 17
  },
  {
   "id": "device-info-via-device",
   "kind": "call",
   "symbol": "via_device",
   "message": "DeviceInfo['via_device'] and DeviceRegistry.async_get_or_create(via_device=...) are deprecated -- 'Deprecated, use via_device_id instead.' Removed in Home Assistant Core 2027.8.",
   "breaks_in": "2027.8",
   "source": "https://developers.home-assistant.io/blog/2026/07/21/device-registry-single-config-entry",
   "origin": "manual",
   "confidence": "high",
   "replacement": "via_device_id",
   "match": {
    "type": "call_kwarg",
    "names": [
     "DeviceInfo",
     "async_get_or_create"
    ],
    "kwargs": [
     "via_device"
    ]
   },
   "matchable": true,
   "expired": false,
   "hits": 543,
   "repos_hit": 216
  },
  {
   "id": "device-registry-async-get-device",
   "kind": "call",
   "symbol": "DeviceRegistry.async_get_device",
   "message": "DeviceRegistry.async_get_device() is deprecated -- 'Identifiers and connections are only unique per config entry.' Removed in Home Assistant Core 2027.8; use async_get_device_by_identifier() or async_get_device_by_connection().",
   "breaks_in": "2027.8",
   "source": "https://developers.home-assistant.io/blog/2026/07/21/device-registry-single-config-entry",
   "origin": "manual",
   "confidence": "medium",
   "replacement": "async_get_device_by_identifier() / async_get_device_by_connection()",
   "match": {
    "type": "call",
    "names": [
     "async_get_device"
    ],
    "modules": [
     "homeassistant.helpers.device_registry"
    ],
    "allow_unresolved_attribute": true,
    "not_awaited": true
   },
   "matchable": true,
   "expired": false,
   "hits": 609,
   "repos_hit": 341
  },
  {
   "id": "device-registry-config-entry-mutation-params",
   "kind": "call",
   "symbol": "DeviceRegistry.async_update_device(add_config_entry_id=...)",
   "message": "'The add_config_entry_id, add_config_subentry_id, remove_config_entry_id and remove_config_subentry_id parameters are all deprecated.' Removed in Home Assistant Core 2027.8; use new_config_entry_id / new_config_subentry_id.",
   "breaks_in": "2027.8",
   "source": "https://developers.home-assistant.io/blog/2026/07/21/device-registry-single-config-entry",
   "origin": "manual",
   "confidence": "high",
   "replacement": "new_config_entry_id / new_config_subentry_id",
   "match": {
    "type": "call_kwarg",
    "names": [
     "async_update_device"
    ],
    "modules": [
     "homeassistant.helpers.device_registry"
    ],
    "allow_unresolved_attribute": true,
    "kwargs": [
     "add_config_entry_id",
     "add_config_subentry_id",
     "remove_config_entry_id",
     "remove_config_subentry_id"
    ]
   },
   "matchable": true,
   "expired": false,
   "hits": 106,
   "repos_hit": 71
  }
 ],
 "integrations": [
  {
   "full_name": "AlexxIT/YandexStation",
   "domain": "yandex_station",
   "domains": [
    "yandex_station"
   ],
   "version": "v3.21.4",
   "ref": "refs/tags/v3.21.4",
   "stargazers_count": 1908,
   "repo_url": "https://github.com/AlexxIT/YandexStation",
   "scanned_utc": "2026-08-13T04:27:11Z",
   "earliest_breaks_in": "2026.10",
   "findings": [
    {
     "rule_id": "core-call-async-extract-entity-ids",
     "breaks_in": "2026.10",
     "file": "custom_components/yandex_station/__init__.py",
     "line": 262,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/yandex_station/core/yandex_station.py",
     "line": 519,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_extract_entity_ids"
   }
  },
  {
   "full_name": "chris-mc1/homeconnect_local_hass",
   "domain": "homeconnect_ws",
   "domains": [
    "homeconnect_ws"
   ],
   "version": "1.0.4",
   "ref": "refs/tags/1.0.4",
   "stargazers_count": 421,
   "repo_url": "https://github.com/chris-mc1/homeconnect_local_hass",
   "scanned_utc": "2026-08-08T05:20:35Z",
   "earliest_breaks_in": "2026.10",
   "findings": [
    {
     "rule_id": "core-call-async-extract-config-entry-ids",
     "breaks_in": "2026.10",
     "file": "custom_components/homeconnect_ws/__init__.py",
     "line": 91,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "astrandb/miele",
   "domain": "miele",
   "domains": [
    "miele"
   ],
   "version": "v2026.2.0",
   "ref": "refs/tags/v2026.2.0",
   "stargazers_count": 264,
   "repo_url": "https://github.com/astrandb/miele",
   "scanned_utc": "2026-08-08T05:17:13Z",
   "earliest_breaks_in": "2026.10",
   "findings": [
    {
     "rule_id": "core-call-async-extract-config-entry-ids",
     "breaks_in": "2026.10",
     "file": "custom_components/miele/services.py",
     "line": 101,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "swingerman/ha-dual-smart-thermostat",
   "domain": "dual_smart_thermostat",
   "domains": [
    "dual_smart_thermostat"
   ],
   "version": "v0.13.1",
   "ref": "refs/tags/v0.13.1",
   "stargazers_count": 230,
   "repo_url": "https://github.com/swingerman/ha-dual-smart-thermostat",
   "scanned_utc": "2026-08-12T04:01:38Z",
   "earliest_breaks_in": "2026.10",
   "findings": [
    {
     "rule_id": "core-call-extract-entity-ids",
     "breaks_in": "2026.10",
     "file": "custom_components/dual_smart_thermostat/climate.py",
     "line": 501,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "twrecked/hass-virtual",
   "domain": "virtual",
   "domains": [
    "virtual"
   ],
   "version": "v0.9.3",
   "ref": "refs/tags/v0.9.3",
   "stargazers_count": 230,
   "repo_url": "https://github.com/twrecked/hass-virtual",
   "scanned_utc": "2026-08-13T04:24:58Z",
   "earliest_breaks_in": "2026.10",
   "findings": [
    {
     "rule_id": "core-call-verify-domain-control",
     "breaks_in": "2026.10",
     "file": "custom_components/virtual/__init__.py",
     "line": 127,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-verify-domain-control",
     "breaks_in": "2026.10",
     "file": "custom_components/virtual/__init__.py",
     "line": 188,
     "confidence": "medium"
    },
    {
     "rule_id": "legacy-device-tracker-platform",
     "breaks_in": "2027.5",
     "file": "custom_components/virtual/device_tracker.py",
     "line": 104,
     "confidence": "high"
    },
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/virtual/device_tracker.py",
     "line": 227,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/virtual/__init__.py",
     "line": 262,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "report": {
     "number": 179,
     "url": "https://github.com/twrecked/hass-virtual/issues/179",
     "state": "open",
     "title": "The deprecated argument hass was passed to verify_domain_control from virtual",
     "reactions": 0
    },
    "symbol": "verify_domain_control"
   }
  },
  {
   "full_name": "zhbjsh/homeassistant-ssh",
   "domain": "ssh",
   "domains": [
    "ssh"
   ],
   "version": "v1.3.1",
   "ref": "refs/tags/v1.3.1",
   "stargazers_count": 162,
   "repo_url": "https://github.com/zhbjsh/homeassistant-ssh",
   "scanned_utc": "2026-08-13T04:26:28Z",
   "earliest_breaks_in": "2026.10",
   "findings": [
    {
     "rule_id": "core-call-async-extract-config-entry-ids",
     "breaks_in": "2026.10",
     "file": "custom_components/ssh/__init__.py",
     "line": 310,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-extract-entities",
     "breaks_in": "2026.10",
     "file": "custom_components/ssh/__init__.py",
     "line": 399,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-extract-entities",
     "breaks_in": "2026.10",
     "file": "custom_components/ssh/__init__.py",
     "line": 425,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "report": {
     "number": 85,
     "url": "https://github.com/zhbjsh/homeassistant-ssh/issues/85",
     "state": "open",
     "title": "The deprecated argument hass was passed to async_extract_config_entry_ids from ssh. It will be removed in HA Core 2026.10.",
     "reactions": 0
    },
    "symbol": "async_extract_config_entry_ids"
   }
  },
  {
   "full_name": "klejejs/ha-thermia-heat-pump-integration",
   "domain": "thermia",
   "domains": [
    "thermia"
   ],
   "version": "5.4.0",
   "ref": "refs/tags/5.4.0",
   "stargazers_count": 53,
   "repo_url": "https://github.com/klejejs/ha-thermia-heat-pump-integration",
   "scanned_utc": "2026-08-10T03:59:31Z",
   "earliest_breaks_in": "2026.10",
   "findings": [
    {
     "rule_id": "core-call-async-extract-entity-ids",
     "breaks_in": "2026.10",
     "file": "custom_components/thermia/services.py",
     "line": 35,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "krozgrov/ha-omlet-integration",
   "domain": "omlet_smart_coop",
   "domains": [
    "omlet_smart_coop"
   ],
   "version": "2026.08.02",
   "ref": "refs/tags/2026.08.02",
   "stargazers_count": 37,
   "repo_url": "https://github.com/krozgrov/ha-omlet-integration",
   "scanned_utc": "2026-08-10T04:00:00Z",
   "earliest_breaks_in": "2026.10",
   "findings": [
    {
     "rule_id": "core-call-async-extract-entity-ids",
     "breaks_in": "2026.10",
     "file": "custom_components/omlet_smart_coop/services.py",
     "line": 156,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/omlet_smart_coop/__init__.py",
     "line": 106,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "nyffchanium/argoclima-integration",
   "domain": "argoclima",
   "domains": [
    "argoclima"
   ],
   "version": "v1.1.4",
   "ref": "refs/tags/v1.1.4",
   "stargazers_count": 31,
   "repo_url": "https://github.com/nyffchanium/argoclima-integration",
   "scanned_utc": "2026-08-11T03:56:34Z",
   "earliest_breaks_in": "2026.10",
   "findings": [
    {
     "rule_id": "core-call-verify-domain-control",
     "breaks_in": "2026.10",
     "file": "custom_components/argoclima/service.py",
     "line": 84,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "rzulian/lutron_lip",
   "domain": "lutron_lip",
   "domains": [
    "lutron_lip"
   ],
   "version": "v.0.1.4",
   "ref": "refs/tags/v.0.1.4",
   "stargazers_count": 4,
   "repo_url": "https://github.com/rzulian/lutron_lip",
   "scanned_utc": "2026-08-12T03:59:45Z",
   "earliest_breaks_in": "2026.10",
   "findings": [
    {
     "rule_id": "core-call-async-extract-entity-ids",
     "breaks_in": "2026.10",
     "file": "custom_components/lutron_lip/cover.py",
     "line": 146,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lutron_lip/__init__.py",
     "line": 337,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lutron_lip/entity.py",
     "line": 34,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "chrisns/hisense_vidaa",
   "domain": "hisense_vidaa",
   "domains": [
    "hisense_vidaa"
   ],
   "version": "v0.2.1",
   "ref": "refs/tags/v0.2.1",
   "stargazers_count": 2,
   "repo_url": "https://github.com/chrisns/hisense_vidaa",
   "scanned_utc": "2026-08-08T05:20:39Z",
   "earliest_breaks_in": "2026.10",
   "findings": [
    {
     "rule_id": "core-call-async-extract-config-entry-ids",
     "breaks_in": "2026.10",
     "file": "custom_components/hisense_vidaa/__init__.py",
     "line": 66,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "frenck/spook",
   "domain": "spook",
   "domains": [
    "spook",
    "spook_inverse"
   ],
   "version": "v5.0.0",
   "ref": "refs/tags/v5.0.0",
   "stargazers_count": 1224,
   "repo_url": "https://github.com/frenck/spook",
   "scanned_utc": "2026-08-09T03:54:03Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/spook/ectoplasms/recorder/services/import_statistics.py",
     "line": 71,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/spook/ectoplasms/recorder/services/import_statistics.py",
     "line": 71,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/spook/ectoplasms/recorder/services/import_statistics.py",
     "line": 73,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-remove-helper-config-entry-from-source-device",
     "breaks_in": "2027.8",
     "file": "custom_components/spook/integrations/spook_inverse/__init__.py",
     "line": 91,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "BottlecapDave/HomeAssistant-OctopusEnergy",
   "domain": "octopus_energy",
   "domains": [
    "octopus_energy"
   ],
   "version": "v19.0.0",
   "ref": "refs/tags/v19.0.0",
   "stargazers_count": 976,
   "repo_url": "https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy",
   "scanned_utc": "2026-08-13T04:27:52Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/octopus_energy/statistics/consumption.py",
     "line": 72,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/octopus_energy/statistics/consumption.py",
     "line": 100,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/octopus_energy/statistics/cost.py",
     "line": 62,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/octopus_energy/statistics/cost.py",
     "line": 90,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-remove-helper-config-entry-from-source-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_energy/__init__.py",
     "line": 132,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_energy/__init__.py",
     "line": 343,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_energy/__init__.py",
     "line": 349,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_energy/__init__.py",
     "line": 363,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "report": {
     "number": 1630,
     "url": "https://github.com/BottlecapDave/HomeAssistant-OctopusEnergy/issues/1630",
     "state": "closed",
     "title": "async_import_statistics errors. Says will stop working from HA 2026.11",
     "reactions": 3
    },
    "symbol": "async_add_external_statistics"
   }
  },
  {
   "full_name": "signalkraft/mypyllant-component",
   "domain": "mypyllant",
   "domains": [
    "mypyllant"
   ],
   "version": "v0.9.19",
   "ref": "refs/tags/v0.9.19",
   "stargazers_count": 337,
   "repo_url": "https://github.com/signalkraft/mypyllant-component",
   "scanned_utc": "2026-08-12T04:00:28Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/mypyllant/sensor.py",
     "line": 1113,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "bosch-thermostat/home-assistant-bosch-custom-component",
   "domain": "bosch",
   "domains": [
    "bosch"
   ],
   "version": "v0.28.2",
   "ref": "refs/tags/v0.28.2",
   "stargazers_count": 311,
   "repo_url": "https://github.com/bosch-thermostat/home-assistant-bosch-custom-component",
   "scanned_utc": "2026-08-08T05:19:02Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/bosch/sensor/statistic_helper.py",
     "line": 113,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch/bosch_entity.py",
     "line": 45,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "JonasPed/homeassistant-eloverblik",
   "domain": "eloverblik",
   "domains": [
    "eloverblik"
   ],
   "version": "v0.6.1",
   "ref": "refs/tags/v0.6.1",
   "stargazers_count": 217,
   "repo_url": "https://github.com/JonasPed/homeassistant-eloverblik",
   "scanned_utc": "2026-08-08T05:06:47Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/eloverblik/sensor.py",
     "line": 302,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/eloverblik/sensor.py",
     "line": 302,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "DarwinsBuddy/WienerNetzeSmartmeter",
   "domain": "wnsm",
   "domains": [
    "wnsm"
   ],
   "version": "v1.8.1",
   "ref": "refs/tags/v1.8.1",
   "stargazers_count": 215,
   "repo_url": "https://github.com/DarwinsBuddy/WienerNetzeSmartmeter",
   "scanned_utc": "2026-08-13T04:29:04Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/wnsm/importer.py",
     "line": 213,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "report": {
     "number": 334,
     "url": "https://github.com/DarwinsBuddy/WienerNetzeSmartmeter/issues/334",
     "state": "closed",
     "title": "custom integration 'wnsm' doesn't specify unit_class when calling async_add_external_statistics",
     "reactions": 0
    },
    "symbol": "async_add_external_statistics"
   }
  },
  {
   "full_name": "PiotrMachowski/Home-Assistant-custom-components-Tauron-AMIplus",
   "domain": "tauron_amiplus",
   "domains": [
    "tauron_amiplus"
   ],
   "version": "v2.7.3",
   "ref": "refs/tags/v2.7.3",
   "stargazers_count": 209,
   "repo_url": "https://github.com/PiotrMachowski/Home-Assistant-custom-components-Tauron-AMIplus",
   "scanned_utc": "2026-08-08T05:10:53Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/tauron_amiplus/statistics.py",
     "line": 235,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "GuyKh/iec-custom-component",
   "domain": "iec",
   "domains": [
    "iec"
   ],
   "version": "0.1.5",
   "ref": "refs/tags/0.1.5",
   "stargazers_count": 185,
   "repo_url": "https://github.com/GuyKh/iec-custom-component",
   "scanned_utc": "2026-08-08T05:05:32Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/iec/statistics.py",
     "line": 436,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/iec/statistics.py",
     "line": 439,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/iec/statistics.py",
     "line": 440,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "fsaris/home-assistant-zonneplan-one",
   "domain": "zonneplan_one",
   "domains": [
    "zonneplan_one"
   ],
   "version": "2026.8.0",
   "ref": "refs/tags/2026.8.0",
   "stargazers_count": 180,
   "repo_url": "https://github.com/fsaris/home-assistant-zonneplan-one",
   "scanned_utc": "2026-08-09T03:54:06Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/zonneplan_one/coordinators/statistics.py",
     "line": 378,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "klausj1/homeassistant-statistics",
   "domain": "import_statistics",
   "domains": [
    "import_statistics"
   ],
   "version": "v5.1.0",
   "ref": "refs/tags/v5.1.0",
   "stargazers_count": 176,
   "repo_url": "https://github.com/klausj1/homeassistant-statistics",
   "scanned_utc": "2026-08-10T03:59:31Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/import_statistics/import_service.py",
     "line": 282,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/import_statistics/import_service.py",
     "line": 282,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/import_statistics/import_service.py",
     "line": 284,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ReikanYsora/Helios-Forecast",
   "domain": "helios_forecast",
   "domains": [
    "helios_forecast"
   ],
   "version": "2026.8.3",
   "ref": "refs/tags/2026.8.3",
   "stargazers_count": 120,
   "repo_url": "https://github.com/ReikanYsora/Helios-Forecast",
   "scanned_utc": "2026-08-08T05:11:24Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/helios_forecast/coordinator.py",
     "line": 362,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/helios_forecast/coordinator.py",
     "line": 362,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/helios_forecast/coordinator.py",
     "line": 423,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/helios_forecast/coordinator.py",
     "line": 423,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "joleys/niko-home-control-II",
   "domain": "nhc2",
   "domains": [
    "nhc2"
   ],
   "version": "v4.18.0",
   "ref": "refs/tags/v4.18.0",
   "stargazers_count": 109,
   "repo_url": "https://github.com/joleys/niko-home-control-II",
   "scanned_utc": "2026-08-10T03:58:21Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/nhc2/statistics_coordinator.py",
     "line": 329,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "joyfulhouse/eg4_web_monitor",
   "domain": "eg4_web_monitor",
   "domains": [
    "eg4_web_monitor"
   ],
   "version": "v3.5.0",
   "ref": "refs/tags/v3.5.0",
   "stargazers_count": 74,
   "repo_url": "https://github.com/joyfulhouse/eg4_web_monitor",
   "scanned_utc": "2026-08-10T03:58:33Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/eg4_web_monitor/history_import.py",
     "line": 907,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/eg4_web_monitor/services.py",
     "line": 391,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/eg4_web_monitor/services.py",
     "line": 391,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eg4_web_monitor/base_entity.py",
     "line": 661,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eg4_web_monitor/battery_migration.py",
     "line": 108,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eg4_web_monitor/battery_migration.py",
     "line": 133,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "duhow/hass-aigues-barcelona",
   "domain": "aigues_barcelona",
   "domains": [
    "aigues_barcelona"
   ],
   "version": "0.4.7",
   "ref": "refs/tags/0.4.7",
   "stargazers_count": 69,
   "repo_url": "https://github.com/duhow/hass-aigues-barcelona",
   "scanned_utc": "2026-08-09T03:53:05Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/aigues_barcelona/sensor.py",
     "line": 266,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/aigues_barcelona/sensor.py",
     "line": 266,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "kdeyev/eyeonwater",
   "domain": "eyeonwater",
   "domains": [
    "eyeonwater"
   ],
   "version": "v2.7.8",
   "ref": "refs/tags/v2.7.8",
   "stargazers_count": 61,
   "repo_url": "https://github.com/kdeyev/eyeonwater",
   "scanned_utc": "2026-08-10T03:59:10Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/eyeonwater/coordinator.py",
     "line": 150,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/eyeonwater/coordinator.py",
     "line": 173,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/eyeonwater/coordinator.py",
     "line": 210,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "carohauta/oma-helen-ha-integration",
   "domain": "helen_energy",
   "domains": [
    "helen_energy"
   ],
   "version": "2.2.0",
   "ref": "refs/tags/2.2.0",
   "stargazers_count": 59,
   "repo_url": "https://github.com/carohauta/oma-helen-ha-integration",
   "scanned_utc": "2026-08-08T05:20:09Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/helen_energy/statistics.py",
     "line": 748,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "thecem/octopus_germany",
   "domain": "octopus_germany",
   "domains": [
    "octopus_germany"
   ],
   "version": "v0.0.98",
   "ref": "refs/tags/v0.0.98",
   "stargazers_count": 58,
   "repo_url": "https://github.com/thecem/octopus_germany",
   "scanned_utc": "2026-08-12T04:01:56Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/octopus_germany/__init__.py",
     "line": 1190,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_germany/sensor.py",
     "line": 49,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_germany/sensor.py",
     "line": 56,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_germany/sensor.py",
     "line": 77,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_germany/sensor.py",
     "line": 84,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_germany/sensor.py",
     "line": 123,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_germany/sensor.py",
     "line": 132,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "mayerwin/HA-Merge-Sensor-History",
   "domain": "merge_sensor_history",
   "domains": [
    "merge_sensor_history"
   ],
   "version": "v1.2.16",
   "ref": "refs/tags/v1.2.16",
   "stargazers_count": 50,
   "repo_url": "https://github.com/mayerwin/HA-Merge-Sensor-History",
   "scanned_utc": "2026-08-11T03:54:32Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/merge_sensor_history/__init__.py",
     "line": 1760,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/merge_sensor_history/__init__.py",
     "line": 1760,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "barisdemirdelen/homeassistant-greenchoice",
   "domain": "greenchoice",
   "domains": [
    "greenchoice"
   ],
   "version": "v3.3.4",
   "ref": "refs/tags/v3.3.4",
   "stargazers_count": 46,
   "repo_url": "https://github.com/barisdemirdelen/homeassistant-greenchoice",
   "scanned_utc": "2026-08-08T05:17:46Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/greenchoice/ha_external_statistics/external_statistic.py",
     "line": 177,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "DaanVervacke/hass-engie-be",
   "domain": "engie_be",
   "domains": [
    "engie_be"
   ],
   "version": "v0.13.3",
   "ref": "refs/tags/v0.13.3",
   "stargazers_count": 36,
   "repo_url": "https://github.com/DaanVervacke/hass-engie-be",
   "scanned_utc": "2026-08-13T04:28:56Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/engie_be/_statistics.py",
     "line": 676,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/engie_be/coordinator.py",
     "line": 1291,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_add_external_statistics"
   }
  },
  {
   "full_name": "jordanruthe/homeassistant-phyn",
   "domain": "phyn",
   "domains": [
    "phyn"
   ],
   "version": "v2026.8.1",
   "ref": "refs/tags/v2026.8.1",
   "stargazers_count": 28,
   "repo_url": "https://github.com/jordanruthe/homeassistant-phyn",
   "scanned_utc": "2026-08-10T03:58:25Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/phyn/devices/pw.py",
     "line": 305,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Jezza34000/homeassistant_veolia",
   "domain": "veolia",
   "domains": [
    "veolia"
   ],
   "version": "v2.0.2",
   "ref": "refs/tags/v2.0.2",
   "stargazers_count": 27,
   "repo_url": "https://github.com/Jezza34000/homeassistant_veolia",
   "scanned_utc": "2026-08-08T05:06:36Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/veolia/sensor.py",
     "line": 110,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/veolia/sensor.py",
     "line": 110,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/veolia/sensor.py",
     "line": 170,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/veolia/sensor.py",
     "line": 170,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/veolia/sensor.py",
     "line": 266,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/veolia/sensor.py",
     "line": 266,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "sathia-musso/enelgrid",
   "domain": "enelgrid",
   "domains": [
    "enelgrid"
   ],
   "version": "v1.6.0",
   "ref": "refs/tags/v1.6.0",
   "stargazers_count": 27,
   "repo_url": "https://github.com/sathia-musso/enelgrid",
   "scanned_utc": "2026-08-12T04:00:02Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/enelgrid/sensor.py",
     "line": 388,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/enelgrid/sensor.py",
     "line": 389,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "thedeemling/hass-energa-my-meter",
   "domain": "energa_my_meter",
   "domains": [
    "energa_my_meter"
   ],
   "version": "v2.4.2",
   "ref": "refs/tags/v2.4.2",
   "stargazers_count": 27,
   "repo_url": "https://github.com/thedeemling/hass-energa-my-meter",
   "scanned_utc": "2026-08-12T04:01:58Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/energa_my_meter/hass_integration/statistics_sensor.py",
     "line": 88,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/energa_my_meter/hass_integration/statistics_sensor.py",
     "line": 88,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "renaudallard/homeassistant_be_electricity_prices",
   "domain": "be_electricity_prices",
   "domains": [
    "be_electricity_prices"
   ],
   "version": "v0.12.4",
   "ref": "refs/tags/v0.12.4",
   "stargazers_count": 25,
   "repo_url": "https://github.com/renaudallard/homeassistant_be_electricity_prices",
   "scanned_utc": "2026-08-12T03:58:51Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/be_electricity_prices/backfill.py",
     "line": 597,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/be_electricity_prices/backfill.py",
     "line": 597,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/be_electricity_prices/backfill.py",
     "line": 821,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/be_electricity_prices/backfill.py",
     "line": 821,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "NylonDiamond/homeassistant-wrist-assistant",
   "domain": "wrist_assistant",
   "domains": [
    "wrist_assistant"
   ],
   "version": "v1.1.24",
   "ref": "refs/tags/v1.1.24",
   "stargazers_count": 23,
   "repo_url": "https://github.com/NylonDiamond/homeassistant-wrist-assistant",
   "scanned_utc": "2026-08-08T05:09:50Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-update-statistics-metadata-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/wrist_assistant/__init__.py",
     "line": 625,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/wrist_assistant/logbook_events.py",
     "line": 42,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/wrist_assistant/sensor.py",
     "line": 387,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/wrist_assistant/sensor.py",
     "line": 403,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/wrist_assistant/text.py",
     "line": 151,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/wrist_assistant/text.py",
     "line": 166,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/wrist_assistant/wa_v2_views.py",
     "line": 2267,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/wrist_assistant/wa_v2_views.py",
     "line": 2637,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/wrist_assistant/widget_secret_store.py",
     "line": 396,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/wrist_assistant/widget_secret_store.py",
     "line": 400,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "sHedC/homeassistant-leakbot",
   "domain": "leakbot",
   "domains": [
    "leakbot"
   ],
   "version": "1.1.5",
   "ref": "refs/tags/1.1.5",
   "stargazers_count": 23,
   "repo_url": "https://github.com/sHedC/homeassistant-leakbot",
   "scanned_utc": "2026-08-12T03:59:46Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/leakbot/sensor.py",
     "line": 276,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/leakbot/sensor.py",
     "line": 276,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "johnnyh1975/ha_roomba_plus",
   "domain": "roomba_plus",
   "domains": [
    "roomba_plus"
   ],
   "version": "v3.5.1",
   "ref": "refs/tags/v3.5.1",
   "stargazers_count": 22,
   "repo_url": "https://github.com/johnnyh1975/ha_roomba_plus",
   "scanned_utc": "2026-08-10T03:58:15Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/roomba_plus/mission_store.py",
     "line": 1603,
     "confidence": "medium"
    },
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/roomba_plus/device_tracker.py",
     "line": 127,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/roomba_plus/device_trigger.py",
     "line": 146,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/roomba_plus/device_trigger.py",
     "line": 147,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/roomba_plus/entity.py",
     "line": 229,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ergo5/hass-energa-my-meter-api",
   "domain": "energa_mobile",
   "domains": [
    "energa_mobile"
   ],
   "version": "v4.15.2",
   "ref": "refs/tags/v4.15.2",
   "stargazers_count": 20,
   "repo_url": "https://github.com/ergo5/hass-energa-my-meter-api",
   "scanned_utc": "2026-08-09T03:53:33Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/energa_mobile/__init__.py",
     "line": 534,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/energa_mobile/__init__.py",
     "line": 534,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/energa_mobile/__init__.py",
     "line": 562,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/energa_mobile/__init__.py",
     "line": 562,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/energa_mobile/sensor.py",
     "line": 1025,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/energa_mobile/sensor.py",
     "line": 1025,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/energa_mobile/sensor.py",
     "line": 1058,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/energa_mobile/sensor.py",
     "line": 1058,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "pyrech/homewizard_cloud_watermeter",
   "domain": "homewizard_cloud_watermeter",
   "domains": [
    "homewizard_cloud_watermeter"
   ],
   "version": "0.6.0",
   "ref": "refs/tags/0.6.0",
   "stargazers_count": 20,
   "repo_url": "https://github.com/pyrech/homewizard_cloud_watermeter",
   "scanned_utc": "2026-08-11T03:57:49Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/homewizard_cloud_watermeter/coordinator.py",
     "line": 199,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/homewizard_cloud_watermeter/coordinator.py",
     "line": 266,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "domodom30/ha-octopus-french",
   "domain": "octopus_french",
   "domains": [
    "octopus_french"
   ],
   "version": "v4.1.4",
   "ref": "refs/tags/v4.1.4",
   "stargazers_count": 19,
   "repo_url": "https://github.com/domodom30/ha-octopus-french",
   "scanned_utc": "2026-08-09T03:52:58Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/octopus_french/statistics_import.py",
     "line": 269,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_french/__init__.py",
     "line": 304,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_french/number.py",
     "line": 66,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_french/select.py",
     "line": 65,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_french/sensor.py",
     "line": 260,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_french/sensor.py",
     "line": 309,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_french/sensor.py",
     "line": 348,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_french/sensor.py",
     "line": 389,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_french/sensor.py",
     "line": 428,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_french/sensor.py",
     "line": 468,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_french/switch.py",
     "line": 65,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopus_french/switch.py",
     "line": 156,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Favio25/Kronoterm-homeassistant",
   "domain": "kronoterm",
   "domains": [
    "kronoterm"
   ],
   "version": "v1.7.2",
   "ref": "refs/tags/v1.7.2",
   "stargazers_count": 18,
   "repo_url": "https://github.com/Favio25/Kronoterm-homeassistant",
   "scanned_utc": "2026-08-08T05:04:57Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/kronoterm/coordinator.py",
     "line": 637,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/kronoterm/coordinator.py",
     "line": 637,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/kronoterm/coordinator.py",
     "line": 903,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/kronoterm/coordinator.py",
     "line": 903,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "marq24/ha-bosch-ebike-flow",
   "domain": "bosch_ebike",
   "domains": [
    "bosch_ebike"
   ],
   "version": "2026.8.0",
   "ref": "refs/tags/2026.8.0",
   "stargazers_count": 18,
   "repo_url": "https://github.com/marq24/ha-bosch-ebike-flow",
   "scanned_utc": "2026-08-11T03:54:02Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/bosch_ebike/sensor.py",
     "line": 91,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/bosch_ebike/sensor.py",
     "line": 91,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "TimoPtr/ha_eauidf",
   "domain": "eauidf",
   "domains": [
    "eauidf"
   ],
   "version": "v1.2.2",
   "ref": "refs/tags/v1.2.2",
   "stargazers_count": 14,
   "repo_url": "https://github.com/TimoPtr/ha_eauidf",
   "scanned_utc": "2026-08-08T05:13:22Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/eauidf/coordinator.py",
     "line": 256,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/eauidf/coordinator.py",
     "line": 326,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eauidf/__init__.py",
     "line": 79,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "wbyoung/watersmart",
   "domain": "watersmart",
   "domains": [
    "watersmart"
   ],
   "version": "v0.1.10",
   "ref": "refs/tags/v0.1.10",
   "stargazers_count": 14,
   "repo_url": "https://github.com/wbyoung/watersmart",
   "scanned_utc": "2026-08-13T04:25:40Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/watersmart/coordinator.py",
     "line": 217,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_add_external_statistics"
   }
  },
  {
   "full_name": "kpoppel/homeassistant-novafos",
   "domain": "novafos",
   "domains": [
    "novafos"
   ],
   "version": "v5.0.4",
   "ref": "refs/tags/v5.0.4",
   "stargazers_count": 13,
   "repo_url": "https://github.com/kpoppel/homeassistant-novafos",
   "scanned_utc": "2026-08-10T03:59:45Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/novafos/coordinator.py",
     "line": 275,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/novafos/coordinator.py",
     "line": 275,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/novafos/coordinator.py",
     "line": 335,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/novafos/coordinator.py",
     "line": 335,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "KRoperUK/sungrow-hass",
   "domain": "sungrow",
   "domains": [
    "sungrow"
   ],
   "version": "v6.0.0",
   "ref": "refs/tags/v6.0.0",
   "stargazers_count": 13,
   "repo_url": "https://github.com/KRoperUK/sungrow-hass",
   "scanned_utc": "2026-08-08T05:06:56Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/sungrow/backfill.py",
     "line": 510,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/sungrow/backfill.py",
     "line": 512,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/sungrow/backfill.py",
     "line": 512,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/sungrow/__init__.py",
     "line": 744,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "magiczoom2/HA-Leneda-Power",
   "domain": "leneda",
   "domains": [
    "leneda"
   ],
   "version": "1.0.13",
   "ref": "refs/tags/1.0.13",
   "stargazers_count": 13,
   "repo_url": "https://github.com/magiczoom2/HA-Leneda-Power",
   "scanned_utc": "2026-08-11T03:53:19Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/leneda/sensor.py",
     "line": 192,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/leneda/sensor.py",
     "line": 192,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/leneda/sensor.py",
     "line": 287,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/leneda/sensor.py",
     "line": 287,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "NaanyaBiz/haggle",
   "domain": "haggle",
   "domains": [
    "haggle"
   ],
   "version": "v0.4.0",
   "ref": "refs/tags/v0.4.0",
   "stargazers_count": 12,
   "repo_url": "https://github.com/NaanyaBiz/haggle",
   "scanned_utc": "2026-08-08T05:09:05Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/haggle/coordinator.py",
     "line": 1547,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "chriscamicas/gazdebordeaux-ha",
   "domain": "gazdebordeaux",
   "domains": [
    "gazdebordeaux"
   ],
   "version": "1.1.10",
   "ref": "refs/tags/1.1.10",
   "stargazers_count": 11,
   "repo_url": "https://github.com/chriscamicas/gazdebordeaux-ha",
   "scanned_utc": "2026-08-08T05:20:37Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/gazdebordeaux/coordinator.py",
     "line": 266,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/gazdebordeaux/coordinator.py",
     "line": 267,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/gazdebordeaux/coordinator.py",
     "line": 268,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "mandinger/fork-ha-octopus-spain",
   "domain": "octopus_spain_fork",
   "domains": [
    "octopus_spain_fork"
   ],
   "version": "v20260803.1",
   "ref": "refs/tags/v20260803.1",
   "stargazers_count": 11,
   "repo_url": "https://github.com/mandinger/fork-ha-octopus-spain",
   "scanned_utc": "2026-08-11T03:53:44Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-update-statistics-metadata-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/octopus_spain_fork/sensor.py",
     "line": 1406,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-update-statistics-metadata-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/octopus_spain_fork/sensor.py",
     "line": 1414,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "StefanPlizga/izypower_cloud",
   "domain": "izypower_cloud",
   "domains": [
    "izypower_cloud"
   ],
   "version": "1.0.9",
   "ref": "refs/tags/1.0.9",
   "stargazers_count": 11,
   "repo_url": "https://github.com/StefanPlizga/izypower_cloud",
   "scanned_utc": "2026-08-08T05:12:36Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/izypower_cloud/statistics.py",
     "line": 255,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "CharlesP44/Beem_Energy",
   "domain": "beem_energy",
   "domains": [
    "beem_energy"
   ],
   "version": "v2026.07.19",
   "ref": "refs/tags/v2026.07.19",
   "stargazers_count": 10,
   "repo_url": "https://github.com/CharlesP44/Beem_Energy",
   "scanned_utc": "2026-08-13T04:28:09Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/beem_energy/services/import_statistic.py",
     "line": 236,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/beem_energy/services/import_statistic.py",
     "line": 236,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/beem_energy/services/import_statistic.py",
     "line": 238,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_import_statistics"
   }
  },
  {
   "full_name": "baracudaz/fenix_tft",
   "domain": "fenix_tft",
   "domains": [
    "fenix_tft"
   ],
   "version": "1.3.1",
   "ref": "refs/tags/1.3.1",
   "stargazers_count": 9,
   "repo_url": "https://github.com/baracudaz/fenix_tft",
   "scanned_utc": "2026-08-08T05:17:43Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/fenix_tft/__init__.py",
     "line": 444,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "cloudbr34k84/home-assistant-pocketsmith",
   "domain": "ha_pocketsmith",
   "domains": [
    "ha_pocketsmith"
   ],
   "version": "v0.5.7",
   "ref": "refs/tags/v0.5.7",
   "stargazers_count": 7,
   "repo_url": "https://github.com/cloudbr34k84/home-assistant-pocketsmith",
   "scanned_utc": "2026-08-08T05:21:01Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/ha_pocketsmith/backfill.py",
     "line": 223,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/ha_pocketsmith/backfill.py",
     "line": 238,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/ha_pocketsmith/backfill.py",
     "line": 293,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/ha_pocketsmith/statistics.py",
     "line": 92,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/ha_pocketsmith/statistics.py",
     "line": 120,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/ha_pocketsmith/statistics.py",
     "line": 155,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/ha_pocketsmith/statistics.py",
     "line": 180,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "dmoo500/ekz-ha",
   "domain": "ekz_ha",
   "domains": [
    "ekz_ha"
   ],
   "version": "v0.1.12b13",
   "ref": "refs/tags/v0.1.12b13",
   "stargazers_count": 7,
   "repo_url": "https://github.com/dmoo500/ekz-ha",
   "scanned_utc": "2026-08-09T03:52:51Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/ekz_ha/__init__.py",
     "line": 245,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/ekz_ha/__init__.py",
     "line": 245,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/ekz_ha/__init__.py",
     "line": 318,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/ekz_ha/__init__.py",
     "line": 318,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/ekz_ha/__init__.py",
     "line": 366,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/ekz_ha/__init__.py",
     "line": 366,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "jonnynch/ha-jemenaoutlook",
   "domain": "jemenaoutlook",
   "domains": [
    "jemenaoutlook"
   ],
   "version": "v2.3.3",
   "ref": "refs/tags/v2.3.3",
   "stargazers_count": 7,
   "repo_url": "https://github.com/jonnynch/ha-jemenaoutlook",
   "scanned_utc": "2026-08-10T03:58:25Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/jemenaoutlook/PyJemenaOutlook/collector.py",
     "line": 73,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/jemenaoutlook/__init__.py",
     "line": 138,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "ha-termoweb/ha-termoweb",
   "domain": "termoweb",
   "domains": [
    "termoweb"
   ],
   "version": "v2.3.1",
   "ref": "refs/tags/v2.3.1",
   "stargazers_count": 6,
   "repo_url": "https://github.com/ha-termoweb/ha-termoweb",
   "scanned_utc": "2026-08-09T03:55:16Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/termoweb/energy.py",
     "line": 122,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/termoweb/energy.py",
     "line": 122,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/termoweb/entities/binary_sensor.py",
     "line": 230,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/termoweb/entities/button.py",
     "line": 306,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/termoweb/entities/button.py",
     "line": 549,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/termoweb/entities/heater.py",
     "line": 958,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/termoweb/entities/lock.py",
     "line": 158,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/termoweb/utils.py",
     "line": 129,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/termoweb/utils.py",
     "line": 194,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "notDIRK/shelly-cloud-diy-ha",
   "domain": "shelly_cloud_diy",
   "domains": [
    "shelly_cloud_diy"
   ],
   "version": "v0.6.12",
   "ref": "refs/tags/v0.6.12",
   "stargazers_count": 6,
   "repo_url": "https://github.com/notDIRK/shelly-cloud-diy-ha",
   "scanned_utc": "2026-08-11T03:56:27Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/shelly_cloud_diy/services/historical.py",
     "line": 275,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/shelly_cloud_diy/services/historical.py",
     "line": 275,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/shelly_cloud_diy/coordinator.py",
     "line": 494,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/shelly_cloud_diy/services/fleet_map.py",
     "line": 372,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/shelly_cloud_diy/services/orphans.py",
     "line": 350,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "renaudallard/homeassistant_be_water_prices",
   "domain": "be_water_prices",
   "domains": [
    "be_water_prices"
   ],
   "version": "v0.7.1",
   "ref": "refs/tags/v0.7.1",
   "stargazers_count": 5,
   "repo_url": "https://github.com/renaudallard/homeassistant_be_water_prices",
   "scanned_utc": "2026-08-12T03:58:55Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/be_water_prices/statistics.py",
     "line": 215,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/be_water_prices/statistics.py",
     "line": 215,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "caplaz/home-assistant-sfpuc",
   "domain": "sfpuc",
   "domains": [
    "sfpuc"
   ],
   "version": "v1.0.5",
   "ref": "refs/tags/v1.0.5",
   "stargazers_count": 4,
   "repo_url": "https://github.com/caplaz/home-assistant-sfpuc",
   "scanned_utc": "2026-08-08T05:20:04Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/sfpuc/statistics_handler.py",
     "line": 295,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/sfpuc/statistics_handler.py",
     "line": 358,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "EnO33/eaux-marseille-ha",
   "domain": "eaux_marseille",
   "domains": [
    "eaux_marseille"
   ],
   "version": "v1.16.4",
   "ref": "refs/tags/v1.16.4",
   "stargazers_count": 4,
   "repo_url": "https://github.com/EnO33/eaux-marseille-ha",
   "scanned_utc": "2026-08-08T05:04:12Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/eaux_marseille/statistics.py",
     "line": 73,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/eaux_marseille/statistics.py",
     "line": 98,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "PanSzelescik/home-assistant-enea",
   "domain": "enea",
   "domains": [
    "enea"
   ],
   "version": "v1.4.3",
   "ref": "refs/tags/v1.4.3",
   "stargazers_count": 4,
   "repo_url": "https://github.com/PanSzelescik/home-assistant-enea",
   "scanned_utc": "2026-08-08T05:10:21Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/enea/costs.py",
     "line": 204,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/enea/statistics.py",
     "line": 159,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/enea/statistics.py",
     "line": 186,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/enea/__init__.py",
     "line": 58,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "hudsonbrendon/HA-solar-plus-intelbras",
   "domain": "solar_plus_intelbras",
   "domains": [
    "solar_plus_intelbras"
   ],
   "version": "v0.8.0",
   "ref": "refs/tags/v0.8.0",
   "stargazers_count": 3,
   "repo_url": "https://github.com/hudsonbrendon/HA-solar-plus-intelbras",
   "scanned_utc": "2026-08-10T03:57:05Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/solar_plus_intelbras/statistics.py",
     "line": 83,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/solar_plus_intelbras/__init__.py",
     "line": 105,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solar_plus_intelbras/device.py",
     "line": 40,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solar_plus_intelbras/device.py",
     "line": 54,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "akshimassar/ha-fortum",
   "domain": "fortum",
   "domains": [
    "fortum"
   ],
   "version": "v4.5.6",
   "ref": "refs/tags/v4.5.6",
   "stargazers_count": 2,
   "repo_url": "https://github.com/akshimassar/ha-fortum",
   "scanned_utc": "2026-08-08T05:15:09Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/fortum/api/client.py",
     "line": 1016,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/fortum/api/client.py",
     "line": 1331,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/fortum/api/client.py",
     "line": 1339,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/fortum/api/client.py",
     "line": 1347,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/fortum/api/client.py",
     "line": 1355,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/fortum/api/client.py",
     "line": 1903,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Bobby5291/HomeAssistant-EDF-UK",
   "domain": "edf_energy",
   "domains": [
    "edf_energy"
   ],
   "version": "v1.9.7",
   "ref": "refs/tags/v1.9.7",
   "stargazers_count": 2,
   "repo_url": "https://github.com/Bobby5291/HomeAssistant-EDF-UK",
   "scanned_utc": "2026-08-13T04:27:49Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/edf_energy/statistics/consumption.py",
     "line": 66,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/edf_energy/statistics/consumption.py",
     "line": 90,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/edf_energy/statistics/cost.py",
     "line": 54,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/edf_energy/statistics/cost.py",
     "line": 78,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_add_external_statistics"
   }
  },
  {
   "full_name": "funkadelic/ha-acwd",
   "domain": "acwd",
   "domains": [
    "acwd"
   ],
   "version": "v1.0.35",
   "ref": "refs/tags/v1.0.35",
   "stargazers_count": 2,
   "repo_url": "https://github.com/funkadelic/ha-acwd",
   "scanned_utc": "2026-08-09T03:54:08Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/acwd/statistics.py",
     "line": 191,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/acwd/statistics.py",
     "line": 266,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/acwd/statistics.py",
     "line": 350,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "herruzo99/ista-calista",
   "domain": "ista_calista",
   "domains": [
    "ista_calista"
   ],
   "version": "v0.9.2",
   "ref": "refs/tags/v0.9.2",
   "stargazers_count": 2,
   "repo_url": "https://github.com/herruzo99/ista-calista",
   "scanned_utc": "2026-08-09T03:55:39Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/ista_calista/sensor.py",
     "line": 810,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "jelmer/homeassistant-thameswater",
   "domain": "thames_water",
   "domains": [
    "thames_water"
   ],
   "version": "v1.2.2",
   "ref": "refs/tags/v1.2.2",
   "stargazers_count": 2,
   "repo_url": "https://github.com/jelmer/homeassistant-thameswater",
   "scanned_utc": "2026-08-10T03:57:55Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/thames_water/sensor.py",
     "line": 260,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "krissen/karlstadsenergi-homeassistant",
   "domain": "karlstadsenergi",
   "domains": [
    "karlstadsenergi"
   ],
   "version": "v0.5.0",
   "ref": "refs/tags/v0.5.0",
   "stargazers_count": 2,
   "repo_url": "https://github.com/krissen/karlstadsenergi-homeassistant",
   "scanned_utc": "2026-08-10T03:59:52Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/karlstadsenergi/__init__.py",
     "line": 495,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/karlstadsenergi/__init__.py",
     "line": 587,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "letitbe-dull/genesisenergy",
   "domain": "genesisenergy",
   "domains": [
    "genesisenergy"
   ],
   "version": "v1.1.0",
   "ref": "refs/tags/v1.1.0",
   "stargazers_count": 2,
   "repo_url": "https://github.com/letitbe-dull/genesisenergy",
   "scanned_utc": "2026-08-10T04:00:13Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/genesisenergy/sensor.py",
     "line": 370,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "thetic/hass-mytpu",
   "domain": "mytpu",
   "domains": [
    "mytpu"
   ],
   "version": "v1.2.4",
   "ref": "refs/tags/v1.2.4",
   "stargazers_count": 2,
   "repo_url": "https://github.com/thetic/hass-mytpu",
   "scanned_utc": "2026-08-12T04:02:01Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/mytpu/__init__.py",
     "line": 411,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/mytpu/__init__.py",
     "line": 500,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "adrighem/ha-anwb-energie",
   "domain": "anwb_energie_account",
   "domains": [
    "anwb_energie_account"
   ],
   "version": "v1.3.2",
   "ref": "refs/tags/v1.3.2",
   "stargazers_count": 1,
   "repo_url": "https://github.com/adrighem/ha-anwb-energie",
   "scanned_utc": "2026-08-08T05:14:56Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/anwb_energie_account/coordinator.py",
     "line": 2088,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "choucheyu/panasonic_ems2",
   "domain": "panasonic_ems2",
   "domains": [
    "panasonic_ems2"
   ],
   "version": "v0.3.3",
   "ref": "refs/tags/v0.3.3",
   "stargazers_count": 1,
   "repo_url": "https://github.com/choucheyu/panasonic_ems2",
   "scanned_utc": "2026-08-08T05:20:33Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/panasonic_ems2/core/cloud.py",
     "line": 504,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "hugo-brito/ha-minvandforsyning",
   "domain": "minvandforsyning",
   "domains": [
    "minvandforsyning"
   ],
   "version": "v1.0.26217.1",
   "ref": "refs/tags/v1.0.26217.1",
   "stargazers_count": 1,
   "repo_url": "https://github.com/hugo-brito/ha-minvandforsyning",
   "scanned_utc": "2026-08-10T03:57:06Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/minvandforsyning/coordinator.py",
     "line": 391,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "jirutka/hass-goliash",
   "domain": "goliash",
   "domains": [
    "goliash"
   ],
   "version": "v0.1.0",
   "ref": "refs/tags/v0.1.0",
   "stargazers_count": 1,
   "repo_url": "https://github.com/jirutka/hass-goliash",
   "scanned_utc": "2026-08-10T03:58:02Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/goliash/sensor.py",
     "line": 252,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/goliash/sensor.py",
     "line": 252,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "JoaoPedroBelo/curgasnatural-ha",
   "domain": "curgasnatural",
   "domains": [
    "curgasnatural"
   ],
   "version": "v0.2.1",
   "ref": "refs/tags/v0.2.1",
   "stargazers_count": 1,
   "repo_url": "https://github.com/JoaoPedroBelo/curgasnatural-ha",
   "scanned_utc": "2026-08-08T05:06:40Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/curgasnatural/statistics.py",
     "line": 243,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/curgasnatural/statistics.py",
     "line": 321,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/curgasnatural/statistics.py",
     "line": 440,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Matbe34/veoliaHA",
   "domain": "veolia_water",
   "domains": [
    "veolia_water"
   ],
   "version": "v1.1.2",
   "ref": "refs/tags/v1.1.2",
   "stargazers_count": 1,
   "repo_url": "https://github.com/Matbe34/veoliaHA",
   "scanned_utc": "2026-08-08T05:08:25Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/veolia_water/stats.py",
     "line": 67,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "mojo17/ha-enova-power",
   "domain": "enova_power",
   "domains": [
    "enova_power"
   ],
   "version": "v0.5.10",
   "ref": "refs/tags/v0.5.10",
   "stargazers_count": 1,
   "repo_url": "https://github.com/mojo17/ha-enova-power",
   "scanned_utc": "2026-08-11T03:55:14Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/enova_power/statistics.py",
     "line": 609,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "azsaurr/ha_usms",
   "domain": "ha_usms",
   "domains": [
    "ha_usms"
   ],
   "version": "v0.4.2",
   "ref": "refs/tags/v0.4.2",
   "stargazers_count": 0,
   "repo_url": "https://github.com/azsaurr/ha_usms",
   "scanned_utc": "2026-08-08T05:17:34Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/ha_usms/sensor.py",
     "line": 61,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/ha_usms/sensor.py",
     "line": 61,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "baracudaz/ssd-ims",
   "domain": "ssd_ims",
   "domains": [
    "ssd_ims"
   ],
   "version": "2.1.5",
   "ref": "refs/tags/2.1.5",
   "stargazers_count": 0,
   "repo_url": "https://github.com/baracudaz/ssd-ims",
   "scanned_utc": "2026-08-08T05:17:44Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/ssd_ims/coordinator.py",
     "line": 322,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "buggedcom/Enion-hass",
   "domain": "enion",
   "domains": [
    "enion"
   ],
   "version": "0.2.1",
   "ref": "refs/tags/0.2.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/buggedcom/Enion-hass",
   "scanned_utc": "2026-08-08T05:19:30Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/enion/coordinator.py",
     "line": 568,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/enion/coordinator.py",
     "line": 601,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "cneuen/ha-rgds",
   "domain": "rgds",
   "domains": [
    "rgds"
   ],
   "version": "v0.1.8",
   "ref": "refs/tags/v0.1.8",
   "stargazers_count": 0,
   "repo_url": "https://github.com/cneuen/ha-rgds",
   "scanned_utc": "2026-08-08T05:21:15Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/rgds/coordinator.py",
     "line": 262,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/rgds/coordinator.py",
     "line": 266,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/rgds/coordinator.py",
     "line": 271,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "cygnusb/ha-netze-bw",
   "domain": "netze_bw_portal",
   "domains": [
    "netze_bw_portal"
   ],
   "version": "v0.5.4",
   "ref": "refs/tags/v0.5.4",
   "stargazers_count": 0,
   "repo_url": "https://github.com/cygnusb/ha-netze-bw",
   "scanned_utc": "2026-08-08T05:22:13Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/netze_bw_portal/history.py",
     "line": 388,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "eklundjon/ha-haikubox",
   "domain": "haikubox",
   "domains": [
    "haikubox"
   ],
   "version": "v0.8.0",
   "ref": "refs/tags/v0.8.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/eklundjon/ha-haikubox",
   "scanned_utc": "2026-08-09T03:53:13Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/haikubox/statistics.py",
     "line": 70,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/haikubox/statistics.py",
     "line": 84,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/haikubox/coordinator.py",
     "line": 756,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "energiedaten-at/ha-energiedaten",
   "domain": "energiedaten",
   "domains": [
    "energiedaten"
   ],
   "version": "v0.6.0",
   "ref": "refs/tags/v0.6.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/energiedaten-at/ha-energiedaten",
   "scanned_utc": "2026-08-09T03:53:26Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/energiedaten/coordinator.py",
     "line": 377,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/energiedaten/coordinator.py",
     "line": 409,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/energiedaten/sensor.py",
     "line": 160,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "flcdrg/flipped_energy_ha",
   "domain": "flipped_energy",
   "domains": [
    "flipped_energy"
   ],
   "version": "v2.0.0",
   "ref": "refs/tags/v2.0.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/flcdrg/flipped_energy_ha",
   "scanned_utc": "2026-08-09T03:53:57Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/flipped_energy/coordinator.py",
     "line": 169,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "gerbear1990/ha-esb-smart-meter",
   "domain": "esb_smart_meter",
   "domains": [
    "esb_smart_meter"
   ],
   "version": "v0.4.0",
   "ref": "refs/tags/v0.4.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/gerbear1990/ha-esb-smart-meter",
   "scanned_utc": "2026-08-09T03:54:34Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/esb_smart_meter/statistics.py",
     "line": 43,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/esb_smart_meter/statistics.py",
     "line": 55,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "GKHerping/eloverblik-nordpool",
   "domain": "eloverblik_nordpool",
   "domains": [
    "eloverblik_nordpool"
   ],
   "version": "v1.0.1",
   "ref": "refs/tags/v1.0.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/GKHerping/eloverblik-nordpool",
   "scanned_utc": "2026-08-08T05:05:15Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/eloverblik_nordpool/__init__.py",
     "line": 498,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "loomitz/sapal-hass",
   "domain": "sapal",
   "domains": [
    "sapal"
   ],
   "version": "v0.4.1",
   "ref": "refs/tags/v0.4.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/loomitz/sapal-hass",
   "scanned_utc": "2026-08-10T04:00:24Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/sapal/statistics.py",
     "line": 106,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/sapal/statistics.py",
     "line": 130,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/sapal/statistics.py",
     "line": 147,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "rdgerken/ha-i3x",
   "domain": "i3x",
   "domains": [
    "i3x"
   ],
   "version": "v0.6.1",
   "ref": "refs/tags/v0.6.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/rdgerken/ha-i3x",
   "scanned_utc": "2026-08-12T03:58:44Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/i3x/statistics.py",
     "line": 262,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "soulripper13/hass-waviot",
   "domain": "waviot_updater",
   "domains": [
    "waviot_updater"
   ],
   "version": "v1.2.0",
   "ref": "refs/tags/v1.2.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/soulripper13/hass-waviot",
   "scanned_utc": "2026-08-12T04:01:09Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/waviot_updater/coordinator.py",
     "line": 171,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "strongbugman/ha-octopusenergy-oejp",
   "domain": "octopusenergy_oejp",
   "domains": [
    "octopusenergy_oejp"
   ],
   "version": "v0.2.7",
   "ref": "refs/tags/v0.2.7",
   "stargazers_count": 0,
   "repo_url": "https://github.com/strongbugman/ha-octopusenergy-oejp",
   "scanned_utc": "2026-08-12T04:01:26Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/octopusenergy_oejp/statistics.py",
     "line": 155,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/octopusenergy_oejp/statistics.py",
     "line": 190,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/octopusenergy_oejp/sensor.py",
     "line": 532,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "tbouron/ha-agur",
   "domain": "agur",
   "domains": [
    "agur"
   ],
   "version": "0.1.4",
   "ref": "refs/tags/0.1.4",
   "stargazers_count": 0,
   "repo_url": "https://github.com/tbouron/ha-agur",
   "scanned_utc": "2026-08-12T04:01:47Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/agur/coordinator.py",
     "line": 254,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/agur/coordinator.py",
     "line": 254,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-mean-type",
     "breaks_in": "2026.11",
     "file": "custom_components/agur/repairs.py",
     "line": 105,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-import-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/agur/repairs.py",
     "line": 105,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "tmenguy/ha-hydropolis-valbonne",
   "domain": "hydropolis_valbonne",
   "domains": [
    "hydropolis_valbonne"
   ],
   "version": "v2026.05.26.0",
   "ref": "refs/tags/v2026.05.26.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/tmenguy/ha-hydropolis-valbonne",
   "scanned_utc": "2026-08-12T04:02:22Z",
   "earliest_breaks_in": "2026.11",
   "findings": [
    {
     "rule_id": "core-call-async-add-external-statistics-missing-unit-class",
     "breaks_in": "2026.11",
     "file": "custom_components/hydropolis_valbonne/coordinator.py",
     "line": 212,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "gcobb321/icloud3",
   "domain": "icloud3",
   "domains": [
    "icloud3"
   ],
   "version": "v3.5.1",
   "ref": "refs/tags/v3.5.1",
   "stargazers_count": 890,
   "repo_url": "https://github.com/gcobb321/icloud3",
   "scanned_utc": "2026-08-09T03:54:20Z",
   "earliest_breaks_in": "2027.5",
   "findings": [
    {
     "rule_id": "legacy-device-tracker-platform",
     "breaks_in": "2027.5",
     "file": "custom_components/icloud3/device_tracker.py",
     "line": 55,
     "confidence": "high"
    },
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/icloud3/device_tracker.py",
     "line": 364,
     "confidence": "high"
    },
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/icloud3/device_tracker.py",
     "line": 387,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/icloud3/utils/entity_reg_util.py",
     "line": 55,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "robinostlund/homeassistant-volkswagencarnet",
   "domain": "volkswagencarnet",
   "domains": [
    "volkswagencarnet"
   ],
   "version": "v5.4.12",
   "ref": "refs/tags/v5.4.12",
   "stargazers_count": 669,
   "repo_url": "https://github.com/robinostlund/homeassistant-volkswagencarnet",
   "scanned_utc": "2026-08-12T03:59:12Z",
   "earliest_breaks_in": "2027.5",
   "findings": [
    {
     "rule_id": "legacy-device-tracker-platform",
     "breaks_in": "2027.5",
     "file": "custom_components/volkswagencarnet/device_tracker.py",
     "line": 33,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "WulfgarW/homeassistant-pycupra",
   "domain": "pycupra",
   "domains": [
    "pycupra"
   ],
   "version": "v0.2.23",
   "ref": "refs/tags/v0.2.23",
   "stargazers_count": 60,
   "repo_url": "https://github.com/WulfgarW/homeassistant-pycupra",
   "scanned_utc": "2026-08-08T05:14:03Z",
   "earliest_breaks_in": "2027.5",
   "findings": [
    {
     "rule_id": "legacy-device-tracker-platform",
     "breaks_in": "2027.5",
     "file": "custom_components/pycupra/device_tracker.py",
     "line": 41,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pycupra/__init__.py",
     "line": 358,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "PaulAnnekov/home-assistant-padavan-tracker",
   "domain": "padavan_tracker",
   "domains": [
    "padavan_tracker"
   ],
   "version": "1.0.2",
   "ref": "refs/tags/1.0.2",
   "stargazers_count": 49,
   "repo_url": "https://github.com/PaulAnnekov/home-assistant-padavan-tracker",
   "scanned_utc": "2026-08-08T05:10:26Z",
   "earliest_breaks_in": "2027.5",
   "findings": [
    {
     "rule_id": "legacy-device-tracker-platform",
     "breaks_in": "2027.5",
     "file": "custom_components/padavan_tracker/device_tracker.py",
     "line": 24,
     "confidence": "high"
    },
    {
     "rule_id": "legacy-device-tracker-scanner-class",
     "breaks_in": "2027.5",
     "file": "custom_components/padavan_tracker/device_tracker.py",
     "line": 31,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Danielhiversen/home_assistant_tractive",
   "domain": "tractive_custom",
   "domains": [
    "tractive_custom"
   ],
   "version": "0.3.1",
   "ref": "refs/tags/0.3.1",
   "stargazers_count": 41,
   "repo_url": "https://github.com/Danielhiversen/home_assistant_tractive",
   "scanned_utc": "2026-08-13T04:29:00Z",
   "earliest_breaks_in": "2027.5",
   "findings": [
    {
     "rule_id": "legacy-device-tracker-platform",
     "breaks_in": "2027.5",
     "file": "custom_components/tractive_custom/device_tracker.py",
     "line": 39,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "setup_scanner"
   }
  },
  {
   "full_name": "juacas/honor_x3",
   "domain": "honor_x3",
   "domains": [
    "honor_x3"
   ],
   "version": "v1.0.7",
   "ref": "refs/tags/v1.0.7",
   "stargazers_count": 12,
   "repo_url": "https://github.com/juacas/honor_x3",
   "scanned_utc": "2026-08-10T03:58:52Z",
   "earliest_breaks_in": "2027.5",
   "findings": [
    {
     "rule_id": "legacy-device-tracker-platform",
     "breaks_in": "2027.5",
     "file": "custom_components/honor_x3/device_tracker.py",
     "line": 19,
     "confidence": "high"
    },
    {
     "rule_id": "legacy-device-tracker-scanner-class",
     "breaks_in": "2027.5",
     "file": "custom_components/honor_x3/device_tracker.py",
     "line": 30,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "ayavilevich/homeassistant-dlink-presence",
   "domain": "dlink_presence",
   "domains": [
    "dlink_presence"
   ],
   "version": "",
   "ref": "refs/heads/master",
   "stargazers_count": 9,
   "repo_url": "https://github.com/ayavilevich/homeassistant-dlink-presence",
   "scanned_utc": "2026-08-08T05:17:27Z",
   "earliest_breaks_in": "2027.5",
   "findings": [
    {
     "rule_id": "legacy-device-tracker-platform",
     "breaks_in": "2027.5",
     "file": "custom_components/dlink_presence/device_tracker.py",
     "line": 43,
     "confidence": "high"
    },
    {
     "rule_id": "legacy-device-tracker-scanner-class",
     "breaks_in": "2027.5",
     "file": "custom_components/dlink_presence/device_tracker.py",
     "line": 51,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "bramkragten/mind",
   "domain": "mind",
   "domains": [
    "mind"
   ],
   "version": "v1.2.1",
   "ref": "refs/tags/v1.2.1",
   "stargazers_count": 9,
   "repo_url": "https://github.com/bramkragten/mind",
   "scanned_utc": "2026-08-08T05:19:08Z",
   "earliest_breaks_in": "2027.5",
   "findings": [
    {
     "rule_id": "legacy-device-tracker-platform",
     "breaks_in": "2027.5",
     "file": "custom_components/mind/device_tracker.py",
     "line": 19,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "KevinHaendel/ha-ubee",
   "domain": "ubee",
   "domains": [
    "ubee"
   ],
   "version": "",
   "ref": "refs/heads/main",
   "stargazers_count": 2,
   "repo_url": "https://github.com/KevinHaendel/ha-ubee",
   "scanned_utc": "2026-08-08T05:07:11Z",
   "earliest_breaks_in": "2027.5",
   "findings": [
    {
     "rule_id": "legacy-device-tracker-platform",
     "breaks_in": "2027.5",
     "file": "custom_components/ubee/device_tracker.py",
     "line": 41,
     "confidence": "high"
    },
    {
     "rule_id": "legacy-device-tracker-scanner-class",
     "breaks_in": "2027.5",
     "file": "custom_components/ubee/device_tracker.py",
     "line": 58,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "luis-garza/movistar_rft8115vw",
   "domain": "movistar_rft8115vw",
   "domains": [
    "movistar_rft8115vw"
   ],
   "version": "1.0.0",
   "ref": "refs/tags/1.0.0",
   "stargazers_count": 2,
   "repo_url": "https://github.com/luis-garza/movistar_rft8115vw",
   "scanned_utc": "2026-08-10T04:00:32Z",
   "earliest_breaks_in": "2027.5",
   "findings": [
    {
     "rule_id": "legacy-device-tracker-platform",
     "breaks_in": "2027.5",
     "file": "custom_components/movistar_rft8115vw/device_tracker.py",
     "line": 25,
     "confidence": "high"
    },
    {
     "rule_id": "legacy-device-tracker-scanner-class",
     "breaks_in": "2027.5",
     "file": "custom_components/movistar_rft8115vw/device_tracker.py",
     "line": 31,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "tom-winkler/ha-webfleet-integration",
   "domain": "webfleet",
   "domains": [
    "webfleet"
   ],
   "version": "",
   "ref": "refs/heads/master",
   "stargazers_count": 0,
   "repo_url": "https://github.com/tom-winkler/ha-webfleet-integration",
   "scanned_utc": "2026-08-12T04:02:26Z",
   "earliest_breaks_in": "2027.5",
   "findings": [
    {
     "rule_id": "legacy-device-tracker-platform",
     "breaks_in": "2027.5",
     "file": "custom_components/webfleet/device_tracker.py",
     "line": 62,
     "confidence": "high"
    },
    {
     "rule_id": "legacy-device-tracker-scanner-class",
     "breaks_in": "2027.5",
     "file": "custom_components/webfleet/device_tracker.py",
     "line": 74,
     "confidence": "high"
    },
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/webfleet/device_tracker.py",
     "line": 189,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "XiaoMi/ha_xiaomi_home",
   "domain": "xiaomi_home",
   "domains": [
    "xiaomi_home"
   ],
   "version": "v0.4.7",
   "ref": "refs/tags/v0.4.7",
   "stargazers_count": 21997,
   "repo_url": "https://github.com/XiaoMi/ha_xiaomi_home",
   "scanned_utc": "2026-08-08T05:14:06Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/xiaomi_home/device_tracker.py",
     "line": 104,
     "confidence": "high"
    },
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/xiaomi_home/device_tracker.py",
     "line": 123,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xiaomi_home/__init__.py",
     "line": 249,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "al-one/hass-xiaomi-miot",
   "domain": "xiaomi_miot",
   "domains": [
    "xiaomi_miot"
   ],
   "version": "v1.1.4",
   "ref": "refs/tags/v1.1.4",
   "stargazers_count": 6072,
   "repo_url": "https://github.com/al-one/hass-xiaomi-miot",
   "scanned_utc": "2026-08-08T05:15:11Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/xiaomi_miot/device_tracker.py",
     "line": 97,
     "confidence": "high"
    },
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/xiaomi_miot/device_tracker.py",
     "line": 118,
     "confidence": "high"
    },
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/xiaomi_miot/device_tracker.py",
     "line": 154,
     "confidence": "high"
    },
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/xiaomi_miot/device_tracker.py",
     "line": 168,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xiaomi_miot/core/device.py",
     "line": 368,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xiaomi_miot/core/device.py",
     "line": 940,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "custom-components/pyscript",
   "domain": "pyscript",
   "domains": [
    "pyscript"
   ],
   "version": "2.0.1",
   "ref": "refs/tags/2.0.1",
   "stargazers_count": 1178,
   "repo_url": "https://github.com/custom-components/pyscript",
   "scanned_utc": "2026-08-08T05:21:49Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "core-call-get-astral-location",
     "breaks_in": "2027.7",
     "file": "custom_components/pyscript/trigger.py",
     "line": 676,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "BJReplay/ha-solcast-solar",
   "domain": "solcast_solar",
   "domains": [
    "solcast_solar"
   ],
   "version": "v4.6.1",
   "ref": "refs/tags/v4.6.1",
   "stargazers_count": 437,
   "repo_url": "https://github.com/BJReplay/ha-solcast-solar",
   "scanned_utc": "2026-08-13T04:27:34Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "core-call-get-astral-location",
     "breaks_in": "2027.7",
     "file": "custom_components/solcast_solar/dampen.py",
     "line": 340,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "get_astral_location"
   }
  },
  {
   "full_name": "basbruss/adaptive-cover",
   "domain": "adaptive_cover",
   "domains": [
    "adaptive_cover"
   ],
   "version": "v1.4.7",
   "ref": "refs/tags/v1.4.7",
   "stargazers_count": 341,
   "repo_url": "https://github.com/basbruss/adaptive-cover",
   "scanned_utc": "2026-08-08T05:18:04Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "core-call-get-astral-location",
     "breaks_in": "2027.7",
     "file": "custom_components/adaptive_cover/sun.py",
     "line": 18,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/adaptive_cover/__init__.py",
     "line": 79,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "gbroeckling/padspanHA",
   "domain": "padspan_ha",
   "domains": [
    "padspan_ha"
   ],
   "version": "v0.21.13",
   "ref": "refs/tags/v0.21.13",
   "stargazers_count": 184,
   "repo_url": "https://github.com/gbroeckling/padspanHA",
   "scanned_utc": "2026-08-09T03:54:15Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/padspan_ha/device_tracker.py",
     "line": 225,
     "confidence": "high"
    },
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/padspan_ha/device_tracker.py",
     "line": 242,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Wibias/hass-variables",
   "domain": "variable",
   "domains": [
    "variable"
   ],
   "version": "3.5.11",
   "ref": "refs/tags/3.5.11",
   "stargazers_count": 117,
   "repo_url": "https://github.com/Wibias/hass-variables",
   "scanned_utc": "2026-08-08T05:13:56Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/variable/device_tracker.py",
     "line": 179,
     "confidence": "high"
    },
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/variable/device_tracker.py",
     "line": 278,
     "confidence": "high"
    },
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/variable/device_tracker.py",
     "line": 347,
     "confidence": "high"
    },
    {
     "rule_id": "core-call-async-remove-stale-devices-links-keep-current-device",
     "breaks_in": "2027.8",
     "file": "custom_components/variable/__init__.py",
     "line": 71,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/variable/device.py",
     "line": 83,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/variable/device.py",
     "line": 109,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/variable/sensor.py",
     "line": 254,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "sbabcock23/hass-tryfi",
   "domain": "tryfi",
   "domains": [
    "tryfi"
   ],
   "version": "0.0.26",
   "ref": "refs/tags/0.0.26",
   "stargazers_count": 79,
   "repo_url": "https://github.com/sbabcock23/hass-tryfi",
   "scanned_utc": "2026-08-12T04:00:03Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/tryfi/device_tracker.py",
     "line": 83,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "DasBasti/SmartHashtag",
   "domain": "smarthashtag",
   "domains": [
    "smarthashtag"
   ],
   "version": "v0.8.8",
   "ref": "refs/tags/v0.8.8",
   "stargazers_count": 72,
   "repo_url": "https://github.com/DasBasti/SmartHashtag",
   "scanned_utc": "2026-08-13T04:29:04Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/smarthashtag/device_tracker.py",
     "line": 123,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "battery_level"
   }
  },
  {
   "full_name": "CJNE/ha-porscheconnect",
   "domain": "porscheconnect",
   "domains": [
    "porscheconnect"
   ],
   "version": "0.1.10",
   "ref": "refs/tags/0.1.10",
   "stargazers_count": 60,
   "repo_url": "https://github.com/CJNE/ha-porscheconnect",
   "scanned_utc": "2026-08-13T04:28:03Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/porscheconnect/device_tracker.py",
     "line": 68,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "battery_level"
   }
  },
  {
   "full_name": "fineemb/xiaomi-cloud",
   "domain": "xiaomi_cloud",
   "domains": [
    "xiaomi_cloud"
   ],
   "version": "v1.2.7",
   "ref": "refs/tags/v1.2.7",
   "stargazers_count": 50,
   "repo_url": "https://github.com/fineemb/xiaomi-cloud",
   "scanned_utc": "2026-08-09T03:53:53Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/xiaomi_cloud/device_tracker.py",
     "line": 71,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "jesserockz/ha-leafspy",
   "domain": "leafspy",
   "domains": [
    "leafspy"
   ],
   "version": "v0.3.0",
   "ref": "refs/tags/v0.3.0",
   "stargazers_count": 37,
   "repo_url": "https://github.com/jesserockz/ha-leafspy",
   "scanned_utc": "2026-08-10T03:57:58Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/leafspy/device_tracker.py",
     "line": 74,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "elsbrock/cowboy-ha",
   "domain": "cowboy",
   "domains": [
    "cowboy"
   ],
   "version": "v1.3.0",
   "ref": "refs/tags/v1.3.0",
   "stargazers_count": 29,
   "repo_url": "https://github.com/elsbrock/cowboy-ha",
   "scanned_utc": "2026-08-09T03:53:23Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/cowboy/device_tracker.py",
     "line": 71,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/cowboy/__init__.py",
     "line": 134,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "bscholer/home-assistant-comma-ai",
   "domain": "comma_ai",
   "domains": [
    "comma_ai"
   ],
   "version": "v1.0.5",
   "ref": "refs/tags/v1.0.5",
   "stargazers_count": 20,
   "repo_url": "https://github.com/bscholer/home-assistant-comma-ai",
   "scanned_utc": "2026-08-08T05:19:28Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/comma_ai/device_tracker.py",
     "line": 92,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "NoUsername10/Sunlight_Visualizer",
   "domain": "sunlight_visualizer",
   "domains": [
    "sunlight_visualizer"
   ],
   "version": "0.3.2",
   "ref": "refs/tags/0.3.2",
   "stargazers_count": 18,
   "repo_url": "https://github.com/NoUsername10/Sunlight_Visualizer",
   "scanned_utc": "2026-08-08T05:09:48Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "core-call-get-astral-location",
     "breaks_in": "2027.7",
     "file": "custom_components/sunlight_visualizer/sensor.py",
     "line": 702,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ReneNulschDE/ha-mysmartbike",
   "domain": "mysmartbike",
   "domains": [
    "mysmartbike"
   ],
   "version": "v0.6.1",
   "ref": "refs/tags/v0.6.1",
   "stargazers_count": 13,
   "repo_url": "https://github.com/ReneNulschDE/ha-mysmartbike",
   "scanned_utc": "2026-08-08T05:11:25Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/mysmartbike/device_tracker.py",
     "line": 95,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "geertmeersman/eeveemobility",
   "domain": "eeveemobility",
   "domains": [
    "eeveemobility"
   ],
   "version": "v1.0.2",
   "ref": "refs/tags/v1.0.2",
   "stargazers_count": 10,
   "repo_url": "https://github.com/geertmeersman/eeveemobility",
   "scanned_utc": "2026-08-09T03:54:29Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/eeveemobility/device_tracker.py",
     "line": 89,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eeveemobility/__init__.py",
     "line": 253,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "basilfx/homeassistant-biketrax",
   "domain": "biketrax",
   "domains": [
    "biketrax"
   ],
   "version": "v2.1.0",
   "ref": "refs/tags/v2.1.0",
   "stargazers_count": 9,
   "repo_url": "https://github.com/basilfx/homeassistant-biketrax",
   "scanned_utc": "2026-08-08T05:18:06Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/biketrax/device_tracker.py",
     "line": 65,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "DSorlov/http_agent",
   "domain": "http_agent",
   "domains": [
    "http_agent"
   ],
   "version": "v1.2.0",
   "ref": "refs/tags/v1.2.0",
   "stargazers_count": 9,
   "repo_url": "https://github.com/DSorlov/http_agent",
   "scanned_utc": "2026-08-13T04:28:51Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/http_agent/device_tracker.py",
     "line": 110,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "location_name"
   }
  },
  {
   "full_name": "p0l0/hapetwalk",
   "domain": "petwalk",
   "domains": [
    "petwalk"
   ],
   "version": "2.0.2",
   "ref": "refs/tags/2.0.2",
   "stargazers_count": 6,
   "repo_url": "https://github.com/p0l0/hapetwalk",
   "scanned_utc": "2026-08-11T03:56:57Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/petwalk/device_tracker.py",
     "line": 135,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "car2home/car2home-homeassistant",
   "domain": "car2home",
   "domains": [
    "car2home"
   ],
   "version": "v0.1.18",
   "ref": "refs/tags/v0.1.18",
   "stargazers_count": 5,
   "repo_url": "https://github.com/car2home/car2home-homeassistant",
   "scanned_utc": "2026-08-08T05:20:06Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/car2home/device_tracker.py",
     "line": 108,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "ThomasHFWright/kippy-homeassistant",
   "domain": "kippy",
   "domains": [
    "kippy"
   ],
   "version": "v1.0.4",
   "ref": "refs/tags/v1.0.4",
   "stargazers_count": 4,
   "repo_url": "https://github.com/ThomasHFWright/kippy-homeassistant",
   "scanned_utc": "2026-08-08T05:13:15Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/kippy/device_tracker.py",
     "line": 130,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "dietrichmax/colota-home-assistant",
   "domain": "colota",
   "domains": [
    "colota"
   ],
   "version": "v0.3.0",
   "ref": "refs/tags/v0.3.0",
   "stargazers_count": 2,
   "repo_url": "https://github.com/dietrichmax/colota-home-assistant",
   "scanned_utc": "2026-08-09T03:52:38Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/colota/device_tracker.py",
     "line": 115,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Woulve/phonetrack",
   "domain": "phonetrack",
   "domains": [
    "phonetrack"
   ],
   "version": "v1.0.2",
   "ref": "refs/tags/v1.0.2",
   "stargazers_count": 2,
   "repo_url": "https://github.com/Woulve/phonetrack",
   "scanned_utc": "2026-08-08T05:14:00Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/phonetrack/device_tracker.py",
     "line": 107,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "jheizer/up_4014_tracker",
   "domain": "up_4014_tracker",
   "domains": [
    "up_4014_tracker"
   ],
   "version": "v0.1.0",
   "ref": "refs/tags/v0.1.0",
   "stargazers_count": 1,
   "repo_url": "https://github.com/jheizer/up_4014_tracker",
   "scanned_utc": "2026-08-10T03:58:00Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/up_4014_tracker/device_tracker.py",
     "line": 57,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "bjudson1/ha-spoton",
   "domain": "spoton",
   "domains": [
    "spoton"
   ],
   "version": "v0.1.0",
   "ref": "refs/tags/v0.1.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/bjudson1/ha-spoton",
   "scanned_utc": "2026-08-08T05:18:44Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-battery-level",
     "breaks_in": "2027.7",
     "file": "custom_components/spoton/device_tracker.py",
     "line": 59,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "FehTeh/ha-custom-component-growappy",
   "domain": "growappy",
   "domains": [
    "growappy"
   ],
   "version": "v1.1.0",
   "ref": "refs/tags/v1.1.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/FehTeh/ha-custom-component-growappy",
   "scanned_utc": "2026-08-08T05:05:00Z",
   "earliest_breaks_in": "2027.7",
   "findings": [
    {
     "rule_id": "device-tracker-location-name",
     "breaks_in": "2027.7",
     "file": "custom_components/growappy/device_tracker.py",
     "line": 47,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "hacs/integration",
   "domain": "hacs",
   "domains": [
    "example",
    "hacs"
   ],
   "version": "2.0.5",
   "ref": "refs/tags/2.0.5",
   "stargazers_count": 7612,
   "repo_url": "https://github.com/hacs/integration",
   "scanned_utc": "2026-08-09T03:55:20Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hacs/repositories/base.py",
     "line": 1297,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "AlexxIT/XiaomiGateway3",
   "domain": "xiaomi_gateway3",
   "domains": [
    "xiaomi_gateway3"
   ],
   "version": "v4.1.4",
   "ref": "refs/tags/v4.1.4",
   "stargazers_count": 2777,
   "repo_url": "https://github.com/AlexxIT/XiaomiGateway3",
   "scanned_utc": "2026-08-13T04:27:09Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xiaomi_gateway3/hass/entity.py",
     "line": 61,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xiaomi_gateway3/hass/hass_utils.py",
     "line": 125,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xiaomi_gateway3/hass/hass_utils.py",
     "line": 317,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "greghesp/ha-bambulab",
   "domain": "bambu_lab",
   "domains": [
    "bambu_lab"
   ],
   "version": "v2.2.22",
   "ref": "refs/tags/v2.2.22",
   "stargazers_count": 2292,
   "repo_url": "https://github.com/greghesp/ha-bambulab",
   "scanned_utc": "2026-08-09T03:54:54Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bambu_lab/__init__.py",
     "line": 71,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bambu_lab/__init__.py",
     "line": 157,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bambu_lab/config_flow.py",
     "line": 266,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bambu_lab/config_flow.py",
     "line": 379,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bambu_lab/coordinator.py",
     "line": 195,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bambu_lab/coordinator.py",
     "line": 442,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bambu_lab/coordinator.py",
     "line": 736,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bambu_lab/coordinator.py",
     "line": 760,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bambu_lab/coordinator.py",
     "line": 789,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bambu_lab/coordinator.py",
     "line": 871,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bambu_lab/coordinator.py",
     "line": 908,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bambu_lab/coordinator.py",
     "line": 923,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bambu_lab/coordinator.py",
     "line": 938,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "custom-components/ble_monitor",
   "domain": "ble_monitor",
   "domains": [
    "ble_monitor"
   ],
   "version": "3.15.0",
   "ref": "refs/tags/3.15.0",
   "stargazers_count": 2232,
   "repo_url": "https://github.com/custom-components/ble_monitor",
   "scanned_utc": "2026-08-08T05:21:39Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ble_monitor/binary_sensor.py",
     "line": 140,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ble_monitor/config_flow.py",
     "line": 247,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ble_monitor/device_tracker.py",
     "line": 98,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ble_monitor/sensor.py",
     "line": 150,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "JurajNyiri/HomeAssistant-Tapo-Control",
   "domain": "tapo_control",
   "domains": [
    "tapo_control"
   ],
   "version": "7.1.25",
   "ref": "refs/tags/7.1.25",
   "stargazers_count": 1971,
   "repo_url": "https://github.com/JurajNyiri/HomeAssistant-Tapo-Control",
   "scanned_utc": "2026-08-08T05:06:52Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tapo_control/update.py",
     "line": 85,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "thomasloven/hass-browser_mod",
   "domain": "browser_mod",
   "domains": [
    "browser_mod"
   ],
   "version": "v3.2.0",
   "ref": "refs/tags/v3.2.0",
   "stargazers_count": 1790,
   "repo_url": "https://github.com/thomasloven/hass-browser_mod",
   "scanned_utc": "2026-08-12T04:02:05Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/browser_mod/browser.py",
     "line": 197,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/browser_mod/browser.py",
     "line": 246,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ollo69/ha-smartthinq-sensors",
   "domain": "smartthinq_sensors",
   "domains": [
    "smartthinq_sensors"
   ],
   "version": "v0.43.0",
   "ref": "refs/tags/v0.43.0",
   "stargazers_count": 1320,
   "repo_url": "https://github.com/ollo69/ha-smartthinq-sensors",
   "scanned_utc": "2026-08-11T03:56:45Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/smartthinq_sensors/__init__.py",
     "line": 687,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/smartthinq_sensors/diagnostics.py",
     "line": 108,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "3dg1luk43/ha_washdata",
   "domain": "ha_washdata",
   "domains": [
    "ha_washdata"
   ],
   "version": "v0.5.3",
   "ref": "refs/tags/v0.5.3",
   "stargazers_count": 1186,
   "repo_url": "https://github.com/3dg1luk43/ha_washdata",
   "scanned_utc": "2026-08-13T04:26:44Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_washdata/__init__.py",
     "line": 1025,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "andrew-codechimp/HA-Battery-Notes",
   "domain": "battery_notes",
   "domains": [
    "battery_notes"
   ],
   "version": "3.5.3",
   "ref": "refs/tags/3.5.3",
   "stargazers_count": 1142,
   "repo_url": "https://github.com/andrew-codechimp/HA-Battery-Notes",
   "scanned_utc": "2026-08-08T05:16:30Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/battery_notes/coordinator.py",
     "line": 718,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/battery_notes/coordinator.py",
     "line": 754,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/battery_notes/coordinator.py",
     "line": 792,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/battery_notes/coordinator.py",
     "line": 867,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "thomluther/ha-anker-solix",
   "domain": "anker_solix",
   "domains": [
    "anker_solix"
   ],
   "version": "3.8.0",
   "ref": "refs/tags/3.8.0",
   "stargazers_count": 1056,
   "repo_url": "https://github.com/thomluther/ha-anker-solix",
   "scanned_utc": "2026-08-12T04:02:07Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/anker_solix/coordinator.py",
     "line": 288,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/anker_solix/entity.py",
     "line": 160,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/anker_solix/entity.py",
     "line": 177,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/anker_solix/entity.py",
     "line": 197,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/anker_solix/entity.py",
     "line": 235,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "ekutner/home-connect-hass",
   "domain": "home_connect_alt",
   "domains": [
    "home_connect_alt"
   ],
   "version": "1.4.2",
   "ref": "refs/tags/1.4.2",
   "stargazers_count": 990,
   "repo_url": "https://github.com/ekutner/home-connect-hass",
   "scanned_utc": "2026-08-09T03:53:14Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/home_connect_alt/__init__.py",
     "line": 202,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/home_connect_alt/__init__.py",
     "line": 399,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/home_connect_alt/__init__.py",
     "line": 402,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "SecKatie/ha-wyzeapi",
   "domain": "wyzeapi",
   "domains": [
    "wyzeapi"
   ],
   "version": "v0.1.39",
   "ref": "refs/tags/v0.1.39",
   "stargazers_count": 983,
   "repo_url": "https://github.com/SecKatie/ha-wyzeapi",
   "scanned_utc": "2026-08-08T05:12:04Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/wyzeapi/button.py",
     "line": 152,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "krahabb/meross_lan",
   "domain": "meross_lan",
   "domains": [
    "meross_lan"
   ],
   "version": "v5.8.0",
   "ref": "refs/tags/v5.8.0",
   "stargazers_count": 734,
   "repo_url": "https://github.com/krahabb/meross_lan",
   "scanned_utc": "2026-08-10T03:59:47Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/meross_lan/config_flow.py",
     "line": 1031,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/meross_lan/devices/hub/__init__.py",
     "line": 531,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/meross_lan/helpers/device.py",
     "line": 131,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "ollo69/ha-samsungtv-smart",
   "domain": "samsungtv_smart",
   "domains": [
    "samsungtv_smart"
   ],
   "version": "v0.14.5",
   "ref": "refs/tags/v0.14.5",
   "stargazers_count": 670,
   "repo_url": "https://github.com/ollo69/ha-samsungtv-smart",
   "scanned_utc": "2026-08-11T03:56:44Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/samsungtv_smart/diagnostics.py",
     "line": 40,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "SukramJ/homematicip_local",
   "domain": "homematicip_local",
   "domains": [
    "homematicip_local"
   ],
   "version": "2.9.0",
   "ref": "refs/tags/2.9.0",
   "stargazers_count": 584,
   "repo_url": "https://github.com/SukramJ/homematicip_local",
   "scanned_utc": "2026-08-08T05:12:43Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homematicip_local/control_unit.py",
     "line": 307,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homematicip_local/control_unit.py",
     "line": 314,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homematicip_local/control_unit.py",
     "line": 326,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homematicip_local/control_unit.py",
     "line": 468,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homematicip_local/control_unit.py",
     "line": 616,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homematicip_local/control_unit.py",
     "line": 987,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homematicip_local/generic_entity.py",
     "line": 144,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "zachowj/hass-node-red",
   "domain": "nodered",
   "domains": [
    "nodered"
   ],
   "version": "v4.2.3",
   "ref": "refs/tags/v4.2.3",
   "stargazers_count": 582,
   "repo_url": "https://github.com/zachowj/hass-node-red",
   "scanned_utc": "2026-08-13T04:26:24Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/nodered/websocket.py",
     "line": 170,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "wills106/homeassistant-solax-modbus",
   "domain": "solax_modbus",
   "domains": [
    "solax_modbus"
   ],
   "version": "2026.08.2",
   "ref": "refs/tags/2026.08.2",
   "stargazers_count": 507,
   "repo_url": "https://github.com/wills106/homeassistant-solax-modbus",
   "scanned_utc": "2026-08-13T04:25:48Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solax_modbus/energy_dashboard.py",
     "line": 365,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solax_modbus/sensor.py",
     "line": 153,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solax_modbus/sensor.py",
     "line": 216,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solax_modbus/sensor.py",
     "line": 231,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solax_modbus/sensor.py",
     "line": 259,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "davidrapan/ha-solarman",
   "domain": "solarman",
   "domains": [
    "solarman"
   ],
   "version": "v25.08.16",
   "ref": "refs/tags/v25.08.16",
   "stargazers_count": 506,
   "repo_url": "https://github.com/davidrapan/ha-solarman",
   "scanned_utc": "2026-08-09T03:52:17Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/solarman/__init__.py",
     "line": 125,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solarman/config_flow.py",
     "line": 93,
     "confidence": "medium"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/solarman/config_flow.py",
     "line": 95,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solarman/config_flow.py",
     "line": 102,
     "confidence": "medium"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/solarman/services.py",
     "line": 33,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "marcolivierarsenault/moonraker-home-assistant",
   "domain": "moonraker",
   "domains": [
    "moonraker"
   ],
   "version": "1.13.4",
   "ref": "refs/tags/1.13.4",
   "stargazers_count": 485,
   "repo_url": "https://github.com/marcolivierarsenault/moonraker-home-assistant",
   "scanned_utc": "2026-08-11T03:53:53Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/moonraker/__init__.py",
     "line": 302,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/moonraker/__init__.py",
     "line": 303,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "tomaae/homeassistant-mikrotik_router",
   "domain": "mikrotik_router",
   "domains": [
    "mikrotik_router"
   ],
   "version": "v2.2",
   "ref": "refs/tags/v2.2",
   "stargazers_count": 465,
   "repo_url": "https://github.com/tomaae/homeassistant-mikrotik_router",
   "scanned_utc": "2026-08-13T04:24:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mikrotik_router/entity.py",
     "line": 278,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mikrotik_router/entity.py",
     "line": 288,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "report": {
     "number": 299,
     "url": "https://github.com/tomaae/homeassistant-mikrotik_router/issues/299",
     "state": "closed",
     "title": "Integration problems after HA 2023.9.0 upgrade [Bug]",
     "reactions": 5
    },
    "symbol": "via_device"
   }
  },
  {
   "full_name": "marq24/ha-evcc",
   "domain": "evcc_intg",
   "domains": [
    "evcc_intg"
   ],
   "version": "2026.8.4",
   "ref": "refs/tags/2026.8.4",
   "stargazers_count": 451,
   "repo_url": "https://github.com/marq24/ha-evcc",
   "scanned_utc": "2026-08-11T03:54:03Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/evcc_intg/__init__.py",
     "line": 414,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Zendure/Zendure-HA",
   "domain": "zendure_ha",
   "domains": [
    "zendure_ha"
   ],
   "version": "1.4.3",
   "ref": "refs/tags/1.4.3",
   "stargazers_count": 400,
   "repo_url": "https://github.com/Zendure/Zendure-HA",
   "scanned_utc": "2026-08-08T05:14:26Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/zendure_ha/entity.py",
     "line": 229,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/zendure_ha/entity.py",
     "line": 353,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/zendure_ha/migration.py",
     "line": 35,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/zendure_ha/migration.py",
     "line": 38,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "lbbrhzn/ocpp",
   "domain": "ocpp",
   "domains": [
    "ocpp"
   ],
   "version": "v0.10.17",
   "ref": "refs/tags/v0.10.17",
   "stargazers_count": 387,
   "repo_url": "https://github.com/lbbrhzn/ocpp",
   "scanned_utc": "2026-08-10T04:00:09Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ocpp/__init__.py",
     "line": 121,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ocpp/button.py",
     "line": 154,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ocpp/chargepoint.py",
     "line": 618,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ocpp/number.py",
     "line": 178,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ocpp/sensor.py",
     "line": 213,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ocpp/switch.py",
     "line": 186,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "tomaae/homeassistant-truenas",
   "domain": "truenas",
   "domains": [
    "truenas"
   ],
   "version": "v1.3.1",
   "ref": "refs/tags/v1.3.1",
   "stargazers_count": 383,
   "repo_url": "https://github.com/tomaae/homeassistant-truenas",
   "scanned_utc": "2026-08-13T04:24:35Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/truenas/entity.py",
     "line": 192,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "rabits/ha-ef-ble",
   "domain": "ef_ble",
   "domains": [
    "ef_ble"
   ],
   "version": "v1.0.3",
   "ref": "refs/tags/v1.0.3",
   "stargazers_count": 360,
   "repo_url": "https://github.com/rabits/ha-ef-ble",
   "scanned_utc": "2026-08-12T03:58:33Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ef_ble/__init__.py",
     "line": 235,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ef_ble/entity.py",
     "line": 117,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ef_ble/entity.py",
     "line": 148,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ef_ble/sensor.py",
     "line": 993,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "patman15/BMS_BLE-HA",
   "domain": "bms_ble",
   "domains": [
    "bms_ble"
   ],
   "version": "2.16.0",
   "ref": "refs/tags/2.16.0",
   "stargazers_count": 353,
   "repo_url": "https://github.com/patman15/BMS_BLE-HA",
   "scanned_utc": "2026-08-11T03:57:04Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bms_ble/diagnostics.py",
     "line": 30,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "jjjonesjr33/petlibro",
   "domain": "petlibro",
   "domains": [
    "petlibro"
   ],
   "version": "v1.2.32",
   "ref": "refs/tags/v1.2.32",
   "stargazers_count": 351,
   "repo_url": "https://github.com/jjjonesjr33/petlibro",
   "scanned_utc": "2026-08-10T03:58:02Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/petlibro/devices/device.py",
     "line": 121,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/petlibro/helpers/devices.py",
     "line": 40,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/petlibro/helpers/pets.py",
     "line": 41,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/petlibro/pets/__init__.py",
     "line": 178,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "azerty9971/xtend_tuya",
   "domain": "xtend_tuya",
   "domains": [
    "xtend_tuya"
   ],
   "version": "v4.5.1",
   "ref": "refs/tags/v4.5.1",
   "stargazers_count": 349,
   "repo_url": "https://github.com/azerty9971/xtend_tuya",
   "scanned_utc": "2026-08-08T05:17:29Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xtend_tuya/__init__.py",
     "line": 164,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xtend_tuya/diagnostics.py",
     "line": 180,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xtend_tuya/entity.py",
     "line": 502,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xtend_tuya/entity.py",
     "line": 528,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xtend_tuya/multi_manager/shared/multi_device_listener.py",
     "line": 81,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xtend_tuya/multi_manager/shared/multi_device_listener.py",
     "line": 89,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xtend_tuya/util.py",
     "line": 270,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "FutureTense/keymaster",
   "domain": "keymaster",
   "domains": [
    "keymaster"
   ],
   "version": "v0.5.3",
   "ref": "refs/tags/v0.5.3",
   "stargazers_count": 348,
   "repo_url": "https://github.com/FutureTense/keymaster",
   "scanned_utc": "2026-08-08T05:05:13Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/keymaster/__init__.py",
     "line": 171,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "mrk-its/homeassistant-blitzortung",
   "domain": "blitzortung",
   "domains": [
    "blitzortung"
   ],
   "version": "v1.7.0",
   "ref": "refs/tags/v1.7.0",
   "stargazers_count": 341,
   "repo_url": "https://github.com/mrk-its/homeassistant-blitzortung",
   "scanned_utc": "2026-08-11T03:55:30Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/blitzortung/sensor.py",
     "line": 241,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "sebr/bhyve-home-assistant",
   "domain": "bhyve",
   "domains": [
    "bhyve"
   ],
   "version": "4.1.2",
   "ref": "refs/tags/4.1.2",
   "stargazers_count": 327,
   "repo_url": "https://github.com/sebr/bhyve-home-assistant",
   "scanned_utc": "2026-08-12T04:00:14Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bhyve/__init__.py",
     "line": 139,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "OpenEPaperLink/Home_Assistant_Integration",
   "domain": "open_epaper_link",
   "domains": [
    "open_epaper_link"
   ],
   "version": "3.0.0",
   "ref": "refs/tags/3.0.0",
   "stargazers_count": 320,
   "repo_url": "https://github.com/OpenEPaperLink/Home_Assistant_Integration",
   "scanned_utc": "2026-08-08T05:09:58Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/open_epaper_link/__init__.py",
     "line": 368,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/open_epaper_link/coordinator.py",
     "line": 631,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/open_epaper_link/coordinator.py",
     "line": 733,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/open_epaper_link/entity.py",
     "line": 108,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Hankanman/Area-Occupancy-Detection",
   "domain": "area_occupancy",
   "domains": [
    "area_occupancy"
   ],
   "version": "2026.7.1",
   "ref": "refs/tags/2026.7.1",
   "stargazers_count": 318,
   "repo_url": "https://github.com/Hankanman/Area-Occupancy-Detection",
   "scanned_utc": "2026-08-08T05:05:44Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/area_occupancy/__init__.py",
     "line": 512,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/area_occupancy/binary_sensor.py",
     "line": 125,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/area_occupancy/coordinator.py",
     "line": 782,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/area_occupancy/coordinator.py",
     "line": 894,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/area_occupancy/number.py",
     "line": 72,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/area_occupancy/sensor.py",
     "line": 84,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "WillCodeForCats/solaredge-modbus-multi",
   "domain": "solaredge_modbus_multi",
   "domains": [
    "solaredge_modbus_multi"
   ],
   "version": "v3.3.4",
   "ref": "refs/tags/v3.3.4",
   "stargazers_count": 309,
   "repo_url": "https://github.com/WillCodeForCats/solaredge-modbus-multi",
   "scanned_utc": "2026-08-08T05:13:58Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solaredge_modbus_multi/hub.py",
     "line": 1980,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solaredge_modbus_multi/hub.py",
     "line": 2320,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solaredge_modbus_multi/hub.py",
     "line": 2615,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "rstrouse/ESPSomfy-RTS-HA",
   "domain": "espsomfy_rts",
   "domains": [
    "espsomfy_rts"
   ],
   "version": "v2.4.7",
   "ref": "refs/tags/v2.4.7",
   "stargazers_count": 304,
   "repo_url": "https://github.com/rstrouse/ESPSomfy-RTS-HA",
   "scanned_utc": "2026-08-12T03:59:33Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/espsomfy_rts/controller.py",
     "line": 321,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/espsomfy_rts/controller.py",
     "line": 350,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/espsomfy_rts/controller.py",
     "line": 604,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "TypQxQ/Sigenergy-Local-Modbus",
   "domain": "sigen",
   "domains": [
    "sigen"
   ],
   "version": "v.1.2.5.1",
   "ref": "refs/tags/v.1.2.5.1",
   "stargazers_count": 277,
   "repo_url": "https://github.com/TypQxQ/Sigenergy-Local-Modbus",
   "scanned_utc": "2026-08-08T05:13:35Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sigen/number.py",
     "line": 869,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sigen/sensor.py",
     "line": 125,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sigen/sensor.py",
     "line": 146,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sigen/switch.py",
     "line": 179,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "bremor/bureau_of_meteorology",
   "domain": "bureau_of_meteorology",
   "domains": [
    "bureau_of_meteorology"
   ],
   "version": "1.3.6",
   "ref": "refs/tags/1.3.6",
   "stargazers_count": 276,
   "repo_url": "https://github.com/bremor/bureau_of_meteorology",
   "scanned_utc": "2026-08-08T05:19:16Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/bureau_of_meteorology/__init__.py",
     "line": 204,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Jezza34000/homeassistant_petkit",
   "domain": "petkit",
   "domains": [
    "petkit"
   ],
   "version": "1.27.0",
   "ref": "refs/tags/1.27.0",
   "stargazers_count": 273,
   "repo_url": "https://github.com/Jezza34000/homeassistant_petkit",
   "scanned_utc": "2026-08-08T05:06:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/petkit/coordinator.py",
     "line": 146,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "marq24/ha-tibber-pulse-local",
   "domain": "tibber_local",
   "domains": [
    "tibber_local"
   ],
   "version": "2026.7.2",
   "ref": "refs/tags/2026.7.2",
   "stargazers_count": 273,
   "repo_url": "https://github.com/marq24/ha-tibber-pulse-local",
   "scanned_utc": "2026-08-11T03:54:11Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tibber_local/__init__.py",
     "line": 209,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Vaskivskyi/ha-asusrouter",
   "domain": "asusrouter",
   "domains": [
    "asusrouter"
   ],
   "version": "0.40.1",
   "ref": "refs/tags/0.40.1",
   "stargazers_count": 251,
   "repo_url": "https://github.com/Vaskivskyi/ha-asusrouter",
   "scanned_utc": "2026-08-08T05:13:41Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/asusrouter/binary_sensor.py",
     "line": 159,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/asusrouter/device_tracker.py",
     "line": 115,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/asusrouter/diagnostics.py",
     "line": 37,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/asusrouter/switch.py",
     "line": 172,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "travisghansen/hass-pfsense",
   "domain": "pfsense",
   "domains": [
    "pfsense"
   ],
   "version": "v0.6.7",
   "ref": "refs/tags/v0.6.7",
   "stargazers_count": 244,
   "repo_url": "https://github.com/travisghansen/hass-pfsense",
   "scanned_utc": "2026-08-13T04:24:45Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pfsense/device_tracker.py",
     "line": 121,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pfsense/device_tracker.py",
     "line": 271,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "Tom-Bom-badil/home-assistant_ugreen-nas",
   "domain": "ugreen",
   "domains": [
    "ugreen"
   ],
   "version": "v2026.09.1-beta1",
   "ref": "refs/tags/v2026.09.1-beta1",
   "stargazers_count": 236,
   "repo_url": "https://github.com/Tom-Bom-badil/home-assistant_ugreen-nas",
   "scanned_utc": "2026-08-08T05:13:25Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ugreen/button.py",
     "line": 308,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ugreen/button.py",
     "line": 477,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ugreen/device_info.py",
     "line": 54,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ugreen/device_info.py",
     "line": 75,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ugreen/device_info.py",
     "line": 89,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ugreen/device_info.py",
     "line": 107,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ugreen/device_info.py",
     "line": 128,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ugreen/device_info.py",
     "line": 150,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "jason0x43/hacs-hubitat",
   "domain": "hubitat",
   "domains": [
    "hubitat"
   ],
   "version": "v0.10.6",
   "ref": "refs/tags/v0.10.6",
   "stargazers_count": 235,
   "repo_url": "https://github.com/jason0x43/hacs-hubitat",
   "scanned_utc": "2026-08-10T03:57:47Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hubitat/hub.py",
     "line": 1039,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "tijsverkoyen/HomeAssistant-FusionSolar",
   "domain": "fusion_solar",
   "domains": [
    "fusion_solar"
   ],
   "version": "v3.6.0",
   "ref": "refs/tags/v3.6.0",
   "stargazers_count": 234,
   "repo_url": "https://github.com/tijsverkoyen/HomeAssistant-FusionSolar",
   "scanned_utc": "2026-08-12T04:02:16Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fusion_solar/device_real_kpi_coordinator.py",
     "line": 93,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fusion_solar/device_real_kpi_coordinator.py",
     "line": 98,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fusion_solar/sensor.py",
     "line": 60,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "tschamm/boschshc-hass",
   "domain": "bosch_shc",
   "domains": [
    "bosch_shc"
   ],
   "version": "v0.12.15",
   "ref": "refs/tags/v0.12.15",
   "stargazers_count": 233,
   "repo_url": "https://github.com/tschamm/boschshc-hass",
   "scanned_utc": "2026-08-13T04:24:50Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/__init__.py",
     "line": 1136,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/device_trigger.py",
     "line": 69,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/device_trigger.py",
     "line": 78,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/device_trigger.py",
     "line": 84,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/entity.py",
     "line": 80,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/entity.py",
     "line": 91,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/entity.py",
     "line": 95,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/entity.py",
     "line": 229,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/light.py",
     "line": 67,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/light.py",
     "line": 71,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/light.py",
     "line": 80,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/light.py",
     "line": 84,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/light.py",
     "line": 480,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/switch.py",
     "line": 584,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/bosch_shc/switch.py",
     "line": 588,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "report": {
     "number": 216,
     "url": "https://github.com/tschamm/boschshc-hass/issues/216",
     "state": "closed",
     "title": "device_registry.async_get_or_create - will stop working in Home Assistant 2025.12.0",
     "reactions": 2
    },
    "symbol": "via_device"
   }
  },
  {
   "full_name": "hif2k1/battery_sim",
   "domain": "battery_sim",
   "domains": [
    "battery_sim"
   ],
   "version": "v2.6.2",
   "ref": "refs/tags/v2.6.2",
   "stargazers_count": 221,
   "repo_url": "https://github.com/hif2k1/battery_sim",
   "scanned_utc": "2026-08-09T03:55:46Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/battery_sim/helpers.py",
     "line": 281,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "sanjoyg/dirigera_platform",
   "domain": "dirigera_platform",
   "domains": [
    "dirigera_platform"
   ],
   "version": "2.7.1",
   "ref": "refs/tags/2.7.1",
   "stargazers_count": 219,
   "repo_url": "https://github.com/sanjoyg/dirigera_platform",
   "scanned_utc": "2026-08-12T04:00:01Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dirigera_platform/hub_event_listener.py",
     "line": 106,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dirigera_platform/hub_event_listener.py",
     "line": 139,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "anker-charging/ha-anker-solix-official",
   "domain": "anker_solix_official",
   "domains": [
    "anker_solix_official"
   ],
   "version": "v1.4.1",
   "ref": "refs/tags/v1.4.1",
   "stargazers_count": 216,
   "repo_url": "https://github.com/anker-charging/ha-anker-solix-official",
   "scanned_utc": "2026-08-08T05:16:48Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/anker_solix_official/coordinator.py",
     "line": 885,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "maciej-or/hikvision_next",
   "domain": "hikvision_next",
   "domains": [
    "hikvision_next"
   ],
   "version": "v1.1.1",
   "ref": "refs/tags/v1.1.1",
   "stargazers_count": 215,
   "repo_url": "https://github.com/maciej-or/hikvision_next",
   "scanned_utc": "2026-08-11T03:53:15Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hikvision_next/hikvision_device.py",
     "line": 108,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "marq24/ha-goecharger-api2",
   "domain": "goecharger_api2",
   "domains": [
    "goecharger_api2"
   ],
   "version": "2026.8.3",
   "ref": "refs/tags/2026.8.3",
   "stargazers_count": 206,
   "repo_url": "https://github.com/marq24/ha-goecharger-api2",
   "scanned_utc": "2026-08-11T03:54:07Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/goecharger_api2/__init__.py",
     "line": 353,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "sfortis/openai_tts",
   "domain": "openai_tts",
   "domains": [
    "openai_tts"
   ],
   "version": "v3.8",
   "ref": "refs/tags/v3.8",
   "stargazers_count": 205,
   "repo_url": "https://github.com/sfortis/openai_tts",
   "scanned_utc": "2026-08-12T04:00:17Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/openai_tts/__init__.py",
     "line": 357,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "dalinicus/homeassistant-acinfinity",
   "domain": "ac_infinity",
   "domains": [
    "ac_infinity"
   ],
   "version": "2.2.0",
   "ref": "refs/tags/2.2.0",
   "stargazers_count": 196,
   "repo_url": "https://github.com/dalinicus/homeassistant-acinfinity",
   "scanned_utc": "2026-08-09T03:52:01Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ac_infinity/core.py",
     "line": 173,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ac_infinity/core.py",
     "line": 183,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ac_infinity/core.py",
     "line": 193,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ac_infinity/core.py",
     "line": 203,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ac_infinity/core.py",
     "line": 221,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ac_infinity/core.py",
     "line": 238,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ac_infinity/core.py",
     "line": 290,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "elad-bar/ha-blueiris",
   "domain": "blueiris",
   "domains": [
    "blueiris"
   ],
   "version": "v1.0.23",
   "ref": "refs/tags/v1.0.23",
   "stargazers_count": 196,
   "repo_url": "https://github.com/elad-bar/ha-blueiris",
   "scanned_utc": "2026-08-09T03:53:15Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/blueiris/managers/device_manager.py",
     "line": 39,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "martinarva/dynamic_energy_cost",
   "domain": "dynamic_energy_cost",
   "domains": [
    "dynamic_energy_cost"
   ],
   "version": "v1.2.2",
   "ref": "refs/tags/v1.2.2",
   "stargazers_count": 194,
   "repo_url": "https://github.com/martinarva/dynamic_energy_cost",
   "scanned_utc": "2026-08-11T03:54:14Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dynamic_energy_cost/__init__.py",
     "line": 197,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dynamic_energy_cost/__init__.py",
     "line": 227,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "AlbinLind/dawarich-home-assistant",
   "domain": "dawarich",
   "domains": [
    "dawarich"
   ],
   "version": "0.8.6",
   "ref": "refs/tags/0.8.6",
   "stargazers_count": 193,
   "repo_url": "https://github.com/AlbinLind/dawarich-home-assistant",
   "scanned_utc": "2026-08-13T04:27:03Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dawarich/sensor.py",
     "line": 273,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "IATkachenko/HA-SleepAsAndroid",
   "domain": "sleep_as_android_mqtt",
   "domains": [
    "sleep_as_android_mqtt"
   ],
   "version": "v3.0.2",
   "ref": "refs/tags/v3.0.2",
   "stargazers_count": 193,
   "repo_url": "https://github.com/IATkachenko/HA-SleepAsAndroid",
   "scanned_utc": "2026-08-08T05:06:03Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sleep_as_android_mqtt/sensor.py",
     "line": 101,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "dahlb/ha_hatch",
   "domain": "ha_hatch",
   "domains": [
    "ha_hatch"
   ],
   "version": "v1.31.4",
   "ref": "refs/tags/v1.31.4",
   "stargazers_count": 190,
   "repo_url": "https://github.com/dahlb/ha_hatch",
   "scanned_utc": "2026-08-08T05:22:20Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_hatch/diagnostics.py",
     "line": 41,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "dmamontov/hass-miwifi",
   "domain": "miwifi",
   "domains": [
    "miwifi"
   ],
   "version": "v3.0.0",
   "ref": "refs/tags/v3.0.0",
   "stargazers_count": 189,
   "repo_url": "https://github.com/dmamontov/hass-miwifi",
   "scanned_utc": "2026-08-09T03:52:48Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/miwifi/device_tracker.py",
     "line": 421,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/miwifi/device_tracker.py",
     "line": 427,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/miwifi/services.py",
     "line": 143,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "DAB-LABS/HAIR",
   "domain": "hair",
   "domains": [
    "hair"
   ],
   "version": "v0.9.10",
   "ref": "refs/tags/v0.9.10",
   "stargazers_count": 188,
   "repo_url": "https://github.com/DAB-LABS/HAIR",
   "scanned_utc": "2026-08-13T04:28:40Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hair/device_manager.py",
     "line": 313,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "ArikShemesh/ha-simple-timer",
   "domain": "simple_timer",
   "domains": [
    "simple_timer"
   ],
   "version": "v1.8.0",
   "ref": "refs/tags/v1.8.0",
   "stargazers_count": 160,
   "repo_url": "https://github.com/ArikShemesh/ha-simple-timer",
   "scanned_utc": "2026-08-13T04:27:27Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/simple_timer/helpers.py",
     "line": 126,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_update_device"
   }
  },
  {
   "full_name": "jrhubott/adaptive-cover-pro",
   "domain": "adaptive_cover_pro",
   "domains": [
    "adaptive_cover_pro"
   ],
   "version": "v2026.8.1",
   "ref": "refs/tags/v2026.8.1",
   "stargazers_count": 157,
   "repo_url": "https://github.com/jrhubott/adaptive-cover-pro",
   "scanned_utc": "2026-08-10T03:58:44Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/adaptive_cover_pro/__init__.py",
     "line": 555,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/adaptive_cover_pro/__init__.py",
     "line": 574,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "hiall-fyi/tado_ce",
   "domain": "tado_ce",
   "domains": [
    "tado_ce"
   ],
   "version": "v4.3.1",
   "ref": "refs/tags/v4.3.1",
   "stargazers_count": 153,
   "repo_url": "https://github.com/hiall-fyi/tado_ce",
   "scanned_utc": "2026-08-09T03:55:41Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tado_ce/calendar.py",
     "line": 63,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tado_ce/device_manager.py",
     "line": 67,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tado_ce/entity_cleanup.py",
     "line": 279,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "elad-bar/ha-edgeos",
   "domain": "edgeos",
   "domains": [
    "edgeos"
   ],
   "version": "v2.1.9",
   "ref": "refs/tags/v2.1.9",
   "stargazers_count": 147,
   "repo_url": "https://github.com/elad-bar/ha-edgeos",
   "scanned_utc": "2026-08-09T03:53:15Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edgeos/data_processors/base_processor.py",
     "line": 63,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edgeos/data_processors/device_processor.py",
     "line": 76,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edgeos/data_processors/interface_processor.py",
     "line": 83,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edgeos/diagnostics.py",
     "line": 122,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edgeos/managers/coordinator.py",
     "line": 927,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ffunes/Marstek-Venus-Energy-Manager",
   "domain": "marstek_venus_energy_manager",
   "domains": [
    "marstek_venus_energy_manager"
   ],
   "version": "v2.1.1",
   "ref": "refs/tags/v2.1.1",
   "stargazers_count": 147,
   "repo_url": "https://github.com/ffunes/Marstek-Venus-Energy-Manager",
   "scanned_utc": "2026-08-09T03:53:46Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/marstek_venus_energy_manager/__init__.py",
     "line": 4278,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/marstek_venus_energy_manager/config_flow.py",
     "line": 1653,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Pho3niX90/solis_modbus",
   "domain": "solis_modbus",
   "domains": [
    "solis_modbus"
   ],
   "version": "v4.2.4",
   "ref": "refs/tags/v4.2.4",
   "stargazers_count": 146,
   "repo_url": "https://github.com/Pho3niX90/solis_modbus",
   "scanned_utc": "2026-08-08T05:10:42Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solis_modbus/sensors/solis_derived_sensor.py",
     "line": 213,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "pytoyoda/ha_toyota",
   "domain": "toyota",
   "domains": [
    "toyota"
   ],
   "version": "v2.5.0",
   "ref": "refs/tags/v2.5.0",
   "stargazers_count": 145,
   "repo_url": "https://github.com/pytoyoda/ha_toyota",
   "scanned_utc": "2026-08-11T03:57:49Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/toyota/button.py",
     "line": 87,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/toyota/button.py",
     "line": 114,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "CharlesGillanders/homeassistant-alphaESS",
   "domain": "alphaess",
   "domains": [
    "alphaess"
   ],
   "version": "v0.8.5",
   "ref": "refs/tags/v0.8.5",
   "stargazers_count": 143,
   "repo_url": "https://github.com/CharlesGillanders/homeassistant-alphaESS",
   "scanned_utc": "2026-08-13T04:28:09Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/alphaess/__init__.py",
     "line": 409,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_update_device"
   }
  },
  {
   "full_name": "PeteRager/lennoxs30",
   "domain": "lennoxs30",
   "domains": [
    "lennoxs30"
   ],
   "version": "2026.6.0",
   "ref": "refs/tags/2026.6.0",
   "stargazers_count": 143,
   "repo_url": "https://github.com/PeteRager/lennoxs30",
   "scanned_utc": "2026-08-08T05:10:36Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lennoxs30/device.py",
     "line": 103,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lennoxs30/device.py",
     "line": 154,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lennoxs30/device.py",
     "line": 206,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lennoxs30/device.py",
     "line": 252,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lennoxs30/device.py",
     "line": 291,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lennoxs30/device.py",
     "line": 334,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "tomaae/homeassistant-openmediavault",
   "domain": "openmediavault",
   "domains": [
    "openmediavault"
   ],
   "version": "v1.4.2",
   "ref": "refs/tags/v1.4.2",
   "stargazers_count": 143,
   "repo_url": "https://github.com/tomaae/homeassistant-openmediavault",
   "scanned_utc": "2026-08-13T04:24:35Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openmediavault/model.py",
     "line": 207,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "report": {
     "number": 131,
     "url": "https://github.com/tomaae/homeassistant-openmediavault/issues/131",
     "state": "closed",
     "title": "[Bug] \"Ignoring invalid device info\" with homeassistant 2023.8.x",
     "reactions": 3
    },
    "symbol": "via_device"
   }
  },
  {
   "full_name": "banter240/tado_hijack",
   "domain": "tado_hijack",
   "domains": [
    "tado_hijack"
   ],
   "version": "v5.7.1",
   "ref": "refs/tags/v5.7.1",
   "stargazers_count": 141,
   "repo_url": "https://github.com/banter240/tado_hijack",
   "scanned_utc": "2026-08-08T05:17:41Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tado_hijack/entity.py",
     "line": 482,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "andvikt/mega_hacs",
   "domain": "mega",
   "domains": [
    "mega"
   ],
   "version": "v1.1.7",
   "ref": "refs/tags/v1.1.7",
   "stargazers_count": 135,
   "repo_url": "https://github.com/andvikt/mega_hacs",
   "scanned_utc": "2026-08-08T05:16:41Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mega/entities.py",
     "line": 155,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "guerrerotook/securitas-direct-new-api",
   "domain": "securitas",
   "domains": [
    "securitas"
   ],
   "version": "v5.4.1",
   "ref": "refs/tags/v5.4.1",
   "stargazers_count": 135,
   "repo_url": "https://github.com/guerrerotook/securitas-direct-new-api",
   "scanned_utc": "2026-08-09T03:55:01Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/securitas/entity.py",
     "line": 32,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/securitas/lock.py",
     "line": 191,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/securitas/lock.py",
     "line": 239,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "studiobts/home-assistant-device-pulse",
   "domain": "device_pulse",
   "domains": [
    "device_pulse"
   ],
   "version": "v1.8.1",
   "ref": "refs/tags/v1.8.1",
   "stargazers_count": 131,
   "repo_url": "https://github.com/studiobts/home-assistant-device-pulse",
   "scanned_utc": "2026-08-12T04:01:29Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/device_pulse/__init__.py",
     "line": 475,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/device_pulse/__init__.py",
     "line": 531,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/device_pulse/config_flow.py",
     "line": 988,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/device_pulse/config_flow.py",
     "line": 1024,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/device_pulse/config_flow.py",
     "line": 1065,
     "confidence": "medium"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/device_pulse/utils.py",
     "line": 64,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/device_pulse/utils.py",
     "line": 171,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/device_pulse/utils.py",
     "line": 201,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/device_pulse/utils.py",
     "line": 205,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/device_pulse/utils.py",
     "line": 210,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/device_pulse/utils.py",
     "line": 231,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/device_pulse/utils.py",
     "line": 279,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Xunil99/ha-bosch-ebike",
   "domain": "ha_bosch_ebike",
   "domains": [
    "ha_bosch_ebike"
   ],
   "version": "v1.19.41",
   "ref": "refs/tags/v1.19.41",
   "stargazers_count": 122,
   "repo_url": "https://github.com/Xunil99/ha-bosch-ebike",
   "scanned_utc": "2026-08-08T05:14:09Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_bosch_ebike/__init__.py",
     "line": 277,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_bosch_ebike/__init__.py",
     "line": 365,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_bosch_ebike/config_flow.py",
     "line": 317,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "dahlb/ha_blueair",
   "domain": "ha_blueair",
   "domains": [
    "ha_blueair"
   ],
   "version": "v1.56.1",
   "ref": "refs/tags/v1.56.1",
   "stargazers_count": 115,
   "repo_url": "https://github.com/dahlb/ha_blueair",
   "scanned_utc": "2026-08-08T05:22:18Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_blueair/diagnostics.py",
     "line": 44,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "pink88/Tuiss2HA",
   "domain": "tuiss2ha",
   "domains": [
    "tuiss2ha"
   ],
   "version": "1.15.0",
   "ref": "refs/tags/1.15.0",
   "stargazers_count": 115,
   "repo_url": "https://github.com/pink88/Tuiss2HA",
   "scanned_utc": "2026-08-11T03:57:29Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tuiss2ha/__init__.py",
     "line": 113,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "FUjr/homeassistant-openwrt-ubus",
   "domain": "openwrt_ubus",
   "domains": [
    "openwrt_ubus"
   ],
   "version": "v0.0.10",
   "ref": "refs/tags/v0.0.10",
   "stargazers_count": 114,
   "repo_url": "https://github.com/FUjr/homeassistant-openwrt-ubus",
   "scanned_utc": "2026-08-08T05:04:39Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt_ubus/__init__.py",
     "line": 413,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt_ubus/__init__.py",
     "line": 424,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt_ubus/__init__.py",
     "line": 475,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt_ubus/sensors/ap_sensor.py",
     "line": 379,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt_ubus/sensors/ap_sensor.py",
     "line": 457,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt_ubus/sensors/eth_sensor.py",
     "line": 151,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt_ubus/sensors/eth_sensor.py",
     "line": 225,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt_ubus/sensors/mwan3_sensor.py",
     "line": 316,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt_ubus/sensors/mwan3_sensor.py",
     "line": 400,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt_ubus/sensors/mwan3_sensor.py",
     "line": 556,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt_ubus/sensors/qmodem_sensor.py",
     "line": 283,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "msvisser/remeha_home",
   "domain": "remeha_home",
   "domains": [
    "remeha_home"
   ],
   "version": "v0.1.18",
   "ref": "refs/tags/v0.1.18",
   "stargazers_count": 113,
   "repo_url": "https://github.com/msvisser/remeha_home",
   "scanned_utc": "2026-08-11T03:55:32Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/remeha_home/coordinator.py",
     "line": 169,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/remeha_home/coordinator.py",
     "line": 182,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "JackJPowell/hass-unfoldedcircle",
   "domain": "unfoldedcircle",
   "domains": [
    "unfoldedcircle"
   ],
   "version": "v1.1.6",
   "ref": "refs/tags/v1.1.6",
   "stargazers_count": 112,
   "repo_url": "https://github.com/JackJPowell/hass-unfoldedcircle",
   "scanned_utc": "2026-08-08T05:06:19Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unfoldedcircle/__init__.py",
     "line": 287,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unfoldedcircle/entity.py",
     "line": 56,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "davesmeghead/visonic",
   "domain": "visonic",
   "domains": [
    "visonic"
   ],
   "version": "0.12.6.0",
   "ref": "refs/tags/0.12.6.0",
   "stargazers_count": 110,
   "repo_url": "https://github.com/davesmeghead/visonic",
   "scanned_utc": "2026-08-09T03:52:13Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/visonic/client.py",
     "line": 932,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/visonic/client.py",
     "line": 1042,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "elad-bar/ha-hpprinter",
   "domain": "hpprinter",
   "domains": [
    "hpprinter"
   ],
   "version": "v2.0.6",
   "ref": "refs/tags/v2.0.6",
   "stargazers_count": 110,
   "repo_url": "https://github.com/elad-bar/ha-hpprinter",
   "scanned_utc": "2026-08-09T03:53:16Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hpprinter/diagnostics.py",
     "line": 95,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hpprinter/managers/ha_coordinator.py",
     "line": 163,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hpprinter/managers/ha_coordinator.py",
     "line": 220,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hpprinter/managers/ha_coordinator.py",
     "line": 263,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "dahlb/ha_carrier",
   "domain": "ha_carrier",
   "domains": [
    "ha_carrier"
   ],
   "version": "v2.26.1",
   "ref": "refs/tags/v2.26.1",
   "stargazers_count": 109,
   "repo_url": "https://github.com/dahlb/ha_carrier",
   "scanned_utc": "2026-08-08T05:22:19Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_carrier/diagnostics.py",
     "line": 60,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "mvdwetering/yamaha_ynca",
   "domain": "yamaha_ynca",
   "domains": [
    "yamaha_ynca"
   ],
   "version": "v9.6.0",
   "ref": "refs/tags/v9.6.0",
   "stargazers_count": 109,
   "repo_url": "https://github.com/mvdwetering/yamaha_ynca",
   "scanned_utc": "2026-08-11T03:55:42Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/yamaha_ynca/media_player.py",
     "line": 166,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/yamaha_ynca/migrations.py",
     "line": 337,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "lasswellt/govee-homeassistant",
   "domain": "govee",
   "domains": [
    "govee"
   ],
   "version": "v2026.7.8",
   "ref": "refs/tags/v2026.7.8",
   "stargazers_count": 108,
   "repo_url": "https://github.com/lasswellt/govee-homeassistant",
   "scanned_utc": "2026-08-10T04:00:06Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/govee/models/device.py",
     "line": 1275,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "weltenwort/home-assistant-rct-power-integration",
   "domain": "rct_power",
   "domains": [
    "rct_power"
   ],
   "version": "v0.14.2",
   "ref": "refs/tags/v0.14.2",
   "stargazers_count": 108,
   "repo_url": "https://github.com/weltenwort/home-assistant-rct-power-integration",
   "scanned_utc": "2026-08-13T04:25:40Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/rct_power/lib/device_info_helpers.py",
     "line": 36,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "natekspencer/ha-vivint",
   "domain": "vivint",
   "domains": [
    "vivint"
   ],
   "version": "2025.8.1",
   "ref": "refs/tags/2025.8.1",
   "stargazers_count": 103,
   "repo_url": "https://github.com/natekspencer/ha-vivint",
   "scanned_utc": "2026-08-11T03:55:59Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vivint/__init__.py",
     "line": 85,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vivint/__init__.py",
     "line": 92,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vivint/__init__.py",
     "line": 150,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vivint/hub.py",
     "line": 164,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vivint/hub.py",
     "line": 198,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "raman325/lock_code_manager",
   "domain": "lock_code_manager",
   "domains": [
    "lock_code_manager"
   ],
   "version": "4.4.1",
   "ref": "refs/tags/4.4.1",
   "stargazers_count": 102,
   "repo_url": "https://github.com/raman325/lock_code_manager",
   "scanned_utc": "2026-08-12T03:58:40Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lock_code_manager/__init__.py",
     "line": 839,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lock_code_manager/diagnostics.py",
     "line": 170,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lock_code_manager/entity.py",
     "line": 67,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/lock_code_manager/providers/matter.py",
     "line": 256,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "kukulich/home-assistant-jablotron100",
   "domain": "jablotron100",
   "domains": [
    "jablotron100"
   ],
   "version": "3.33.3",
   "ref": "refs/tags/3.33.3",
   "stargazers_count": 101,
   "repo_url": "https://github.com/kukulich/home-assistant-jablotron100",
   "scanned_utc": "2026-08-10T04:00:03Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/jablotron100/jablotron.py",
     "line": 794,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/jablotron100/jablotron.py",
     "line": 2971,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "FaserF/ha-openwrt",
   "domain": "openwrt",
   "domains": [
    "openwrt"
   ],
   "version": "v2.4.5",
   "ref": "refs/tags/v2.4.5",
   "stargazers_count": 98,
   "repo_url": "https://github.com/FaserF/ha-openwrt",
   "scanned_utc": "2026-08-08T05:04:51Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/button.py",
     "line": 639,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/button.py",
     "line": 705,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/coordinator.py",
     "line": 1688,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/coordinator.py",
     "line": 1702,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/coordinator.py",
     "line": 1744,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/coordinator.py",
     "line": 1917,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/device_tracker.py",
     "line": 298,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/helpers/__init__.py",
     "line": 178,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/helpers/__init__.py",
     "line": 197,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/number.py",
     "line": 169,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/sensor.py",
     "line": 175,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/sensor.py",
     "line": 244,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/sensor.py",
     "line": 310,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/sensor.py",
     "line": 1367,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/sensor.py",
     "line": 1416,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/switch.py",
     "line": 771,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt/switch.py",
     "line": 1040,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "bvis/aegis-hass",
   "domain": "aegis_ajax",
   "domains": [
    "aegis_ajax"
   ],
   "version": "v1.15.1",
   "ref": "refs/tags/v1.15.1",
   "stargazers_count": 97,
   "repo_url": "https://github.com/bvis/aegis-hass",
   "scanned_utc": "2026-08-08T05:19:31Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aegis_ajax/binary_sensor.py",
     "line": 612,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aegis_ajax/coordinator.py",
     "line": 2057,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "pail23/stiebel_eltron_isg_component",
   "domain": "stiebel_eltron_isg",
   "domains": [
    "stiebel_eltron_isg"
   ],
   "version": "2026.7.3",
   "ref": "refs/tags/2026.7.3",
   "stargazers_count": 97,
   "repo_url": "https://github.com/pail23/stiebel_eltron_isg_component",
   "scanned_utc": "2026-08-11T03:56:57Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/stiebel_eltron_isg/migration.py",
     "line": 146,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/stiebel_eltron_isg/migration.py",
     "line": 153,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "fsaris/home-assistant-awox",
   "domain": "awox",
   "domains": [
    "awox"
   ],
   "version": "0.2.0",
   "ref": "refs/tags/0.2.0",
   "stargazers_count": 95,
   "repo_url": "https://github.com/fsaris/home-assistant-awox",
   "scanned_utc": "2026-08-09T03:54:05Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/awox/light.py",
     "line": 125,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/awox/switch.py",
     "line": 82,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "briis/weatherflow_forecast",
   "domain": "weatherflow_forecast",
   "domains": [
    "weatherflow_forecast"
   ],
   "version": "v1.0.20",
   "ref": "refs/tags/v1.0.20",
   "stargazers_count": 91,
   "repo_url": "https://github.com/briis/weatherflow_forecast",
   "scanned_utc": "2026-08-08T05:19:26Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/weatherflow_forecast/__init__.py",
     "line": 125,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/weatherflow_forecast/__init__.py",
     "line": 129,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "cyr-ius/hass-livebox-component",
   "domain": "livebox",
   "domains": [
    "livebox"
   ],
   "version": "2.5.3",
   "ref": "refs/tags/2.5.3",
   "stargazers_count": 91,
   "repo_url": "https://github.com/cyr-ius/hass-livebox-component",
   "scanned_utc": "2026-08-08T05:22:14Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/livebox/device_tracker.py",
     "line": 207,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/livebox/switch.py",
     "line": 159,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "peribeir/homeassistant-rademacher",
   "domain": "rademacher",
   "domains": [
    "rademacher"
   ],
   "version": "v2.4.3",
   "ref": "refs/tags/v2.4.3",
   "stargazers_count": 87,
   "repo_url": "https://github.com/peribeir/homeassistant-rademacher",
   "scanned_utc": "2026-08-11T03:57:11Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/rademacher/__init__.py",
     "line": 231,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "gjohansson-ST/attribute_as_sensor",
   "domain": "attribute_as_sensor",
   "domains": [
    "attribute_as_sensor"
   ],
   "version": "2.0.0",
   "ref": "refs/tags/2.0.0",
   "stargazers_count": 86,
   "repo_url": "https://github.com/gjohansson-ST/attribute_as_sensor",
   "scanned_utc": "2026-08-09T03:54:40Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "core-call-async-remove-stale-devices-links-keep-entity-device",
     "breaks_in": "2027.8",
     "file": "custom_components/attribute_as_sensor/__init__.py",
     "line": 27,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-handle-source-entity-changes-add-helper-config-entry-to-device",
     "breaks_in": "2027.8",
     "file": "custom_components/attribute_as_sensor/__init__.py",
     "line": 45,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-remove-helper-config-entry-from-source-device",
     "breaks_in": "2027.8",
     "file": "custom_components/attribute_as_sensor/__init__.py",
     "line": 103,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "eriknn/ha-pax_ble",
   "domain": "pax_ble",
   "domains": [
    "pax_ble"
   ],
   "version": "v1.1.24",
   "ref": "refs/tags/v1.1.24",
   "stargazers_count": 85,
   "repo_url": "https://github.com/eriknn/ha-pax_ble",
   "scanned_utc": "2026-08-09T03:53:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pax_ble/config_flow.py",
     "line": 497,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "cx3Y/sunlogin",
   "domain": "sunlogin",
   "domains": [
    "sunlogin"
   ],
   "version": "v3.0.8",
   "ref": "refs/tags/v3.0.8",
   "stargazers_count": 82,
   "repo_url": "https://github.com/cx3Y/sunlogin",
   "scanned_utc": "2026-08-08T05:22:04Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sunlogin/sunlogin.py",
     "line": 906,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sunlogin/sunlogin.py",
     "line": 1178,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "dinki/view_assist_integration",
   "domain": "view_assist",
   "domains": [
    "view_assist"
   ],
   "version": "2026.7.0",
   "ref": "refs/tags/2026.7.0",
   "stargazers_count": 82,
   "repo_url": "https://github.com/dinki/view_assist_integration",
   "scanned_utc": "2026-08-09T03:52:39Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/view_assist/helpers.py",
     "line": 339,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "its-me-prash/vwgroup-connect-ha",
   "domain": "vag_connect",
   "domains": [
    "vag_connect"
   ],
   "version": "v3.0.1",
   "ref": "refs/tags/v3.0.1",
   "stargazers_count": 82,
   "repo_url": "https://github.com/its-me-prash/vwgroup-connect-ha",
   "scanned_utc": "2026-08-10T03:57:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vag_connect/coordinator.py",
     "line": 4356,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "jmdevita/parcel-ha",
   "domain": "parcelapp",
   "domains": [
    "parcelapp"
   ],
   "version": "v1.8.2",
   "ref": "refs/tags/v1.8.2",
   "stargazers_count": 78,
   "repo_url": "https://github.com/jmdevita/parcel-ha",
   "scanned_utc": "2026-08-10T03:58:10Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/parcelapp/__init__.py",
     "line": 82,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "sh00t2kill/dolphin-robot",
   "domain": "mydolphin_plus",
   "domains": [
    "mydolphin_plus"
   ],
   "version": "v1.0.24",
   "ref": "refs/tags/v1.0.24",
   "stargazers_count": 78,
   "repo_url": "https://github.com/sh00t2kill/dolphin-robot",
   "scanned_utc": "2026-08-12T04:00:20Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mydolphin_plus/diagnostics.py",
     "line": 58,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "snicker/zwift_hass",
   "domain": "zwift",
   "domains": [
    "zwift"
   ],
   "version": "v4.1.0",
   "ref": "refs/tags/v4.1.0",
   "stargazers_count": 75,
   "repo_url": "https://github.com/snicker/zwift_hass",
   "scanned_utc": "2026-08-12T04:00:54Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/zwift/coordinator.py",
     "line": 94,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "bkbilly/tpms_ble",
   "domain": "tpms_ble",
   "domains": [
    "tpms_ble"
   ],
   "version": "1.7.0",
   "ref": "refs/tags/1.7.0",
   "stargazers_count": 74,
   "repo_url": "https://github.com/bkbilly/tpms_ble",
   "scanned_utc": "2026-08-08T05:18:50Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tpms_ble/sensor.py",
     "line": 155,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Atlas-Commons/home-assistant-technitiumdns",
   "domain": "technitiumdns",
   "domains": [
    "technitiumdns"
   ],
   "version": "v2.4.4",
   "ref": "refs/tags/v2.4.4",
   "stargazers_count": 73,
   "repo_url": "https://github.com/Atlas-Commons/home-assistant-technitiumdns",
   "scanned_utc": "2026-08-13T04:27:30Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/technitiumdns/device_tracker.py",
     "line": 600,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/technitiumdns/sensor.py",
     "line": 413,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "grimmpp/home-assistant-eltako",
   "domain": "eltako",
   "domains": [
    "eltako"
   ],
   "version": "v1.5.10-bugfix-covers",
   "ref": "refs/tags/v1.5.10-bugfix-covers",
   "stargazers_count": 73,
   "repo_url": "https://github.com/grimmpp/home-assistant-eltako",
   "scanned_utc": "2026-08-09T03:54:58Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eltako/binary_sensor.py",
     "line": 365,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eltako/button.py",
     "line": 126,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eltako/datetime.py",
     "line": 76,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eltako/device.py",
     "line": 67,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eltako/sensor.py",
     "line": 874,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eltako/sensor.py",
     "line": 922,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eltako/sensor.py",
     "line": 983,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Ediminator/homematicip-hcu",
   "domain": "hcu_integration",
   "domains": [
    "hcu_integration"
   ],
   "version": "2.2.0",
   "ref": "refs/tags/2.2.0",
   "stargazers_count": 70,
   "repo_url": "https://github.com/Ediminator/homematicip-hcu",
   "scanned_utc": "2026-08-08T05:03:58Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hcu_integration/diagnostics.py",
     "line": 76,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hcu_integration/diagnostics.py",
     "line": 119,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "tomasbedrich/home-assistant-hikconnect",
   "domain": "hikconnect",
   "domains": [
    "hikconnect"
   ],
   "version": "3.1.1",
   "ref": "refs/tags/3.1.1",
   "stargazers_count": 69,
   "repo_url": "https://github.com/tomasbedrich/home-assistant-hikconnect",
   "scanned_utc": "2026-08-13T04:24:36Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hikconnect/__init__.py",
     "line": 139,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "erikkastelec/hass-WEM-Portal",
   "domain": "wemportal",
   "domains": [
    "wemportal"
   ],
   "version": "1.6.0",
   "ref": "refs/tags/1.6.0",
   "stargazers_count": 68,
   "repo_url": "https://github.com/erikkastelec/hass-WEM-Portal",
   "scanned_utc": "2026-08-09T03:53:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/wemportal/coordinator.py",
     "line": 52,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "jaroschek/home-assistant-myuplink",
   "domain": "myuplink",
   "domains": [
    "myuplink"
   ],
   "version": "1.8.3",
   "ref": "refs/tags/1.8.3",
   "stargazers_count": 68,
   "repo_url": "https://github.com/jaroschek/home-assistant-myuplink",
   "scanned_utc": "2026-08-10T03:57:46Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/myuplink/services.py",
     "line": 137,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "mukaschultze/ha-must-inverter",
   "domain": "must_inverter",
   "domains": [
    "must_inverter"
   ],
   "version": "v0.2.5",
   "ref": "refs/tags/v0.2.5",
   "stargazers_count": 68,
   "repo_url": "https://github.com/mukaschultze/ha-must-inverter",
   "scanned_utc": "2026-08-11T03:55:38Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/must_inverter/diagnostics.py",
     "line": 77,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "OpenDisplay/Home_Assistant_Integration",
   "domain": "opendisplay",
   "domains": [
    "opendisplay"
   ],
   "version": "2.0.2",
   "ref": "refs/tags/2.0.2",
   "stargazers_count": 68,
   "repo_url": "https://github.com/OpenDisplay/Home_Assistant_Integration",
   "scanned_utc": "2026-08-08T05:09:56Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/opendisplay/__init__.py",
     "line": 384,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/opendisplay/button.py",
     "line": 556,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/opendisplay/coordinator.py",
     "line": 629,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/opendisplay/coordinator.py",
     "line": 731,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/opendisplay/entity.py",
     "line": 120,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/opendisplay/update.py",
     "line": 131,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "andrew-codechimp/HA-Periodic-Min-Max",
   "domain": "periodic_min_max",
   "domains": [
    "periodic_min_max"
   ],
   "version": "1.3.3",
   "ref": "refs/tags/1.3.3",
   "stargazers_count": 67,
   "repo_url": "https://github.com/andrew-codechimp/HA-Periodic-Min-Max",
   "scanned_utc": "2026-08-08T05:16:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "core-call-async-handle-source-entity-changes-add-helper-config-entry-to-device",
     "breaks_in": "2027.8",
     "file": "custom_components/periodic_min_max/__init__.py",
     "line": 98,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/periodic_min_max/sensor.py",
     "line": 119,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "HASwitchPlate/openHASP-custom-component",
   "domain": "openhasp",
   "domains": [
    "openhasp"
   ],
   "version": "0.7.9",
   "ref": "refs/tags/0.7.9",
   "stargazers_count": 67,
   "repo_url": "https://github.com/HASwitchPlate/openHASP-custom-component",
   "scanned_utc": "2026-08-08T05:05:38Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openhasp/__init__.py",
     "line": 334,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "wolffshots/hass-audiobookshelf",
   "domain": "audiobookshelf",
   "domains": [
    "audiobookshelf"
   ],
   "version": "v0.5.0",
   "ref": "refs/tags/v0.5.0",
   "stargazers_count": 67,
   "repo_url": "https://github.com/wolffshots/hass-audiobookshelf",
   "scanned_utc": "2026-08-13T04:26:06Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/audiobookshelf/__init__.py",
     "line": 58,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "absent42/Aqara-Advanced-Lighting",
   "domain": "aqara_advanced_lighting",
   "domains": [
    "aqara_advanced_lighting"
   ],
   "version": "v1.3.2",
   "ref": "refs/tags/v1.3.2",
   "stargazers_count": 66,
   "repo_url": "https://github.com/absent42/Aqara-Advanced-Lighting",
   "scanned_utc": "2026-08-08T05:14:37Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aqara_advanced_lighting/mqtt_backend.py",
     "line": 281,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/aqara_advanced_lighting/mqtt_backend.py",
     "line": 347,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/aqara_advanced_lighting/zha_backend.py",
     "line": 321,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aqara_advanced_lighting/zha_backend.py",
     "line": 349,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "chris-mc1/unraid_api",
   "domain": "unraid_api",
   "domains": [
    "unraid_api"
   ],
   "version": "1.5.1",
   "ref": "refs/tags/1.5.1",
   "stargazers_count": 66,
   "repo_url": "https://github.com/chris-mc1/unraid_api",
   "scanned_utc": "2026-08-08T05:20:36Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unraid_api/coordinator.py",
     "line": 283,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unraid_api/coordinator.py",
     "line": 306,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/unraid_api/coordinator.py",
     "line": 310,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unraid_api/sensor.py",
     "line": 426,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "firstof9/ha-gasbuddy",
   "domain": "gasbuddy",
   "domains": [
    "gasbuddy"
   ],
   "version": "1.5.0",
   "ref": "refs/tags/1.5.0",
   "stargazers_count": 65,
   "repo_url": "https://github.com/firstof9/ha-gasbuddy",
   "scanned_utc": "2026-08-09T03:53:53Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/gasbuddy/__init__.py",
     "line": 250,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "DeerMaximum/Technische-Alternative-CMI",
   "domain": "ta_cmi",
   "domains": [
    "ta_cmi"
   ],
   "version": "v1.13.0",
   "ref": "refs/tags/v1.13.0",
   "stargazers_count": 63,
   "repo_url": "https://github.com/DeerMaximum/Technische-Alternative-CMI",
   "scanned_utc": "2026-08-13T04:29:09Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ta_cmi/binary_sensor.py",
     "line": 62,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ta_cmi/diagnostics.py",
     "line": 70,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ta_cmi/sensor.py",
     "line": 63,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "dknowles2/ha-pitboss",
   "domain": "pitboss",
   "domains": [
    "pitboss"
   ],
   "version": "2026.8.1",
   "ref": "refs/tags/2026.8.1",
   "stargazers_count": 62,
   "repo_url": "https://github.com/dknowles2/ha-pitboss",
   "scanned_utc": "2026-08-09T03:52:47Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pitboss/coordinator.py",
     "line": 273,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "EHylands/ha-qolsys-panel",
   "domain": "qolsys_panel",
   "domains": [
    "qolsys_panel"
   ],
   "version": "v1.4.0",
   "ref": "refs/tags/v1.4.0",
   "stargazers_count": 62,
   "repo_url": "https://github.com/EHylands/ha-qolsys-panel",
   "scanned_utc": "2026-08-08T05:03:54Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/qolsys_panel/entity.py",
     "line": 74,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/qolsys_panel/entity.py",
     "line": 112,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/qolsys_panel/entity.py",
     "line": 154,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "zupancicmarko/JellyHA",
   "domain": "jellyha",
   "domains": [
    "jellyha"
   ],
   "version": "v1.2.0",
   "ref": "refs/tags/v1.2.0",
   "stargazers_count": 61,
   "repo_url": "https://github.com/zupancicmarko/JellyHA",
   "scanned_utc": "2026-08-13T04:26:33Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/jellyha/coordinator.py",
     "line": 517,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "radical-squared/aquatemp",
   "domain": "aqua_temp",
   "domains": [
    "aqua_temp"
   ],
   "version": "v3.0.37",
   "ref": "refs/tags/v3.0.37",
   "stargazers_count": 60,
   "repo_url": "https://github.com/radical-squared/aquatemp",
   "scanned_utc": "2026-08-12T03:58:36Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aqua_temp/diagnostics.py",
     "line": 102,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "iluebbe/maintenance_supporter",
   "domain": "maintenance_supporter",
   "domains": [
    "maintenance_supporter"
   ],
   "version": "v2.55.0",
   "ref": "refs/tags/v2.55.0",
   "stargazers_count": 59,
   "repo_url": "https://github.com/iluebbe/maintenance_supporter",
   "scanned_utc": "2026-08-10T03:57:15Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/maintenance_supporter/helpers/device_link.py",
     "line": 190,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-remove-helper-config-entry-from-source-device",
     "breaks_in": "2027.8",
     "file": "custom_components/maintenance_supporter/helpers/device_link.py",
     "line": 242,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Imou-OpenPlatform/Imou-Home-Assistant",
   "domain": "imou_life",
   "domains": [
    "imou_life"
   ],
   "version": "v1.3.3",
   "ref": "refs/tags/v1.3.3",
   "stargazers_count": 58,
   "repo_url": "https://github.com/Imou-OpenPlatform/Imou-Home-Assistant",
   "scanned_utc": "2026-08-08T05:06:10Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/imou_life/coordinator.py",
     "line": 163,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/imou_life/coordinator.py",
     "line": 166,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/imou_life/coordinator.py",
     "line": 188,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/imou_life/helpers.py",
     "line": 37,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Lamarqe/ha_openems",
   "domain": "openems",
   "domains": [
    "openems"
   ],
   "version": "v1.6.1",
   "ref": "refs/tags/v1.6.1",
   "stargazers_count": 58,
   "repo_url": "https://github.com/Lamarqe/ha_openems",
   "scanned_utc": "2026-08-08T05:07:38Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openems/__init__.py",
     "line": 256,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openems/helpers_ha.py",
     "line": 133,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "marcoboers/home-assistant-quatt",
   "domain": "quatt",
   "domains": [
    "quatt"
   ],
   "version": "2.0.0",
   "ref": "refs/tags/2.0.0",
   "stargazers_count": 58,
   "repo_url": "https://github.com/marcoboers/home-assistant-quatt",
   "scanned_utc": "2026-08-11T03:53:50Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/quatt/__init__.py",
     "line": 445,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/quatt/entity.py",
     "line": 173,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "alexlenk/ecowitt_local",
   "domain": "ecowitt_local",
   "domains": [
    "ecowitt_local"
   ],
   "version": "v1.7.15",
   "ref": "refs/tags/v1.7.15",
   "stargazers_count": 57,
   "repo_url": "https://github.com/alexlenk/ecowitt_local",
   "scanned_utc": "2026-08-08T05:15:43Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ecowitt_local/__init__.py",
     "line": 131,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ecowitt_local/__init__.py",
     "line": 171,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ecowitt_local/__init__.py",
     "line": 271,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ecowitt_local/__init__.py",
     "line": 490,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ecowitt_local/__init__.py",
     "line": 515,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ecowitt_local/binary_sensor.py",
     "line": 237,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ecowitt_local/binary_sensor.py",
     "line": 421,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ecowitt_local/sensor.py",
     "line": 267,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "davidepalleschi/zepp2hass",
   "domain": "zepp2hass",
   "domains": [
    "zepp2hass"
   ],
   "version": "v1.0.7",
   "ref": "refs/tags/v1.0.7",
   "stargazers_count": 57,
   "repo_url": "https://github.com/davidepalleschi/zepp2hass",
   "scanned_utc": "2026-08-09T03:52:17Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/zepp2hass/coordinator.py",
     "line": 73,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "alryaz/hass-pandora-cas",
   "domain": "pandora_cas",
   "domains": [
    "pandora_cas"
   ],
   "version": "v2025.2.4",
   "ref": "refs/tags/v2025.2.4",
   "stargazers_count": 56,
   "repo_url": "https://github.com/alryaz/hass-pandora-cas",
   "scanned_utc": "2026-08-08T05:15:55Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pandora_cas/entity.py",
     "line": 244,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "cavefire/Bose-Homeassistant",
   "domain": "bose",
   "domains": [
    "bose"
   ],
   "version": "1.3.1",
   "ref": "refs/tags/1.3.1",
   "stargazers_count": 55,
   "repo_url": "https://github.com/cavefire/Bose-Homeassistant",
   "scanned_utc": "2026-08-08T05:20:17Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/bose/__init__.py",
     "line": 432,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/bose/__init__.py",
     "line": 436,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/bose/__init__.py",
     "line": 463,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/bose/__init__.py",
     "line": 469,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bose/__init__.py",
     "line": 516,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "marcschmiedchen/home-assistant-wolf_ism8",
   "domain": "wolf",
   "domains": [
    "wolf"
   ],
   "version": "v4.2",
   "ref": "refs/tags/v4.2",
   "stargazers_count": 55,
   "repo_url": "https://github.com/marcschmiedchen/home-assistant-wolf_ism8",
   "scanned_utc": "2026-08-11T03:53:54Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/wolf/__init__.py",
     "line": 84,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "cardouken/homeassistant-unifi-unas",
   "domain": "unifi_unas",
   "domains": [
    "unifi_unas"
   ],
   "version": "v0.9.1",
   "ref": "refs/tags/v0.9.1",
   "stargazers_count": 54,
   "repo_url": "https://github.com/cardouken/homeassistant-unifi-unas",
   "scanned_utc": "2026-08-08T05:20:07Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_unas/const.py",
     "line": 114,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_unas/sensor.py",
     "line": 344,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_unas/sensor.py",
     "line": 404,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_unas/sensor.py",
     "line": 683,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_unas/sensor.py",
     "line": 742,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_unas/sensor.py",
     "line": 798,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_unas/sensor.py",
     "line": 884,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_unas/sensor.py",
     "line": 936,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "elad-bar/ha-shinobi",
   "domain": "shinobi",
   "domains": [
    "shinobi"
   ],
   "version": "v3.0.14",
   "ref": "refs/tags/v3.0.14",
   "stargazers_count": 54,
   "repo_url": "https://github.com/elad-bar/ha-shinobi",
   "scanned_utc": "2026-08-09T03:53:16Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/shinobi/diagnostics.py",
     "line": 109,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "geertmeersman/robonect",
   "domain": "robonect",
   "domains": [
    "robonect"
   ],
   "version": "v5.1.13",
   "ref": "refs/tags/v5.1.13",
   "stargazers_count": 51,
   "repo_url": "https://github.com/geertmeersman/robonect",
   "scanned_utc": "2026-08-09T03:54:30Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/robonect/__init__.py",
     "line": 381,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/robonect/entity.py",
     "line": 83,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "hasl-sensor/integration",
   "domain": "hasl3",
   "domains": [
    "hasl3"
   ],
   "version": "4.0.0",
   "ref": "refs/tags/4.0.0",
   "stargazers_count": 50,
   "repo_url": "https://github.com/hasl-sensor/integration",
   "scanned_utc": "2026-08-09T03:55:23Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hasl3/__init__.py",
     "line": 174,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hasl3/sensors/rr_arrival.py",
     "line": 74,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hasl3/sensors/rr_departure.py",
     "line": 76,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hasl3/sensors/rr_route.py",
     "line": 62,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "m3tac0de/home-assistant-sofabaton-x1s",
   "domain": "sofabaton_x1s",
   "domains": [
    "sofabaton_x1s"
   ],
   "version": "0.6.4",
   "ref": "refs/tags/0.6.4",
   "stargazers_count": 49,
   "repo_url": "https://github.com/m3tac0de/home-assistant-sofabaton-x1s",
   "scanned_utc": "2026-08-10T04:00:36Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sofabaton_x1s/hub.py",
     "line": 322,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "denpamusic/homeassistant-plum-ecomax",
   "domain": "plum_ecomax",
   "domains": [
    "plum_ecomax"
   ],
   "version": "v0.5.0",
   "ref": "refs/tags/v0.5.0",
   "stargazers_count": 48,
   "repo_url": "https://github.com/denpamusic/homeassistant-plum-ecomax",
   "scanned_utc": "2026-08-09T03:52:28Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/plum_ecomax/__init__.py",
     "line": 151,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/plum_ecomax/entity.py",
     "line": 286,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/plum_ecomax/entity.py",
     "line": 327,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "dirkgroenen/hass-evse-load-balancer",
   "domain": "evse_load_balancer",
   "domains": [
    "evse_load_balancer"
   ],
   "version": "v1.0.9",
   "ref": "refs/tags/v1.0.9",
   "stargazers_count": 48,
   "repo_url": "https://github.com/dirkgroenen/hass-evse-load-balancer",
   "scanned_utc": "2026-08-09T03:52:41Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/evse_load_balancer/coordinator.py",
     "line": 111,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "dkarv/ha-bwt-perla",
   "domain": "bwt_perla",
   "domains": [
    "bwt_perla"
   ],
   "version": "v0.7.1",
   "ref": "refs/tags/v0.7.1",
   "stargazers_count": 48,
   "repo_url": "https://github.com/dkarv/ha-bwt-perla",
   "scanned_utc": "2026-08-09T03:52:46Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bwt_perla/sensor.py",
     "line": 57,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "doron1/ha-palgate",
   "domain": "palgate",
   "domains": [
    "palgate"
   ],
   "version": "1.7.0",
   "ref": "refs/tags/1.7.0",
   "stargazers_count": 48,
   "repo_url": "https://github.com/doron1/ha-palgate",
   "scanned_utc": "2026-08-09T03:52:59Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/palgate/__init__.py",
     "line": 279,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "tronikos/nest_legacy",
   "domain": "nest_legacy",
   "domains": [
    "nest_legacy"
   ],
   "version": "v0.4.0",
   "ref": "refs/tags/v0.4.0",
   "stargazers_count": 48,
   "repo_url": "https://github.com/tronikos/nest_legacy",
   "scanned_utc": "2026-08-13T04:24:47Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/nest_legacy/coordinator.py",
     "line": 387,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/nest_legacy/coordinator.py",
     "line": 528,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_update_device"
   }
  },
  {
   "full_name": "ronnnnnnnnnnnnn/etekcity_fitness_scale_ble",
   "domain": "etekcity_fitness_scale_ble",
   "domains": [
    "etekcity_fitness_scale_ble"
   ],
   "version": "v0.7.3",
   "ref": "refs/tags/v0.7.3",
   "stargazers_count": 47,
   "repo_url": "https://github.com/ronnnnnnnnnnnnn/etekcity_fitness_scale_ble",
   "scanned_utc": "2026-08-12T03:59:20Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/etekcity_fitness_scale_ble/coordinator.py",
     "line": 2980,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/etekcity_fitness_scale_ble/sensor.py",
     "line": 603,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/etekcity_fitness_scale_ble/sensor.py",
     "line": 635,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/etekcity_fitness_scale_ble/sensor.py",
     "line": 788,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/etekcity_fitness_scale_ble/sensor.py",
     "line": 820,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ardevd/ha-dimo",
   "domain": "dimo",
   "domains": [
    "dimo"
   ],
   "version": "v1.7.0",
   "ref": "refs/tags/v1.7.0",
   "stargazers_count": 46,
   "repo_url": "https://github.com/ardevd/ha-dimo",
   "scanned_utc": "2026-08-08T05:17:01Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dimo/base_entity.py",
     "line": 126,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Darkdragon14/ha-aqara-devices",
   "domain": "ha_aqara_devices",
   "domains": [
    "ha_aqara_devices"
   ],
   "version": "v1.4.2",
   "ref": "refs/tags/v1.4.2",
   "stargazers_count": 46,
   "repo_url": "https://github.com/Darkdragon14/ha-aqara-devices",
   "scanned_utc": "2026-08-13T04:29:02Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_aqara_devices/__init__.py",
     "line": 517,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "natekspencer/ha-oasis-control",
   "domain": "oasis_mini",
   "domains": [
    "oasis_mini"
   ],
   "version": "2.2.8",
   "ref": "refs/tags/2.2.8",
   "stargazers_count": 46,
   "repo_url": "https://github.com/natekspencer/ha-oasis-control",
   "scanned_utc": "2026-08-11T03:55:57Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/oasis_mini/coordinator.py",
     "line": 148,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/oasis_mini/coordinator.py",
     "line": 152,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "sillyfrog/Automate-Pulse-v2",
   "domain": "automate",
   "domains": [
    "automate"
   ],
   "version": "v1.0.1",
   "ref": "refs/tags/v1.0.1",
   "stargazers_count": 46,
   "repo_url": "https://github.com/sillyfrog/Automate-Pulse-v2",
   "scanned_utc": "2026-08-12T04:00:29Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/automate/base.py",
     "line": 52,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/automate/base.py",
     "line": 56,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/automate/helpers.py",
     "line": 41,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "mtheli/philips_sonicare_ble",
   "domain": "philips_sonicare_ble",
   "domains": [
    "philips_sonicare_ble"
   ],
   "version": "v0.25.0",
   "ref": "refs/tags/v0.25.0",
   "stargazers_count": 45,
   "repo_url": "https://github.com/mtheli/philips_sonicare_ble",
   "scanned_utc": "2026-08-11T03:55:35Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_sonicare_ble/__init__.py",
     "line": 85,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_sonicare_ble/__init__.py",
     "line": 95,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_sonicare_ble/__init__.py",
     "line": 103,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_sonicare_ble/__init__.py",
     "line": 130,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_sonicare_ble/coordinator.py",
     "line": 645,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_sonicare_ble/coordinator.py",
     "line": 1075,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_sonicare_ble/entity.py",
     "line": 119,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_sonicare_ble/entity.py",
     "line": 147,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_sonicare_ble/update.py",
     "line": 92,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "never-dry/NeverDry",
   "domain": "never_dry",
   "domains": [
    "never_dry"
   ],
   "version": "v0.11.0",
   "ref": "refs/tags/v0.11.0",
   "stargazers_count": 45,
   "repo_url": "https://github.com/never-dry/NeverDry",
   "scanned_utc": "2026-08-11T03:56:08Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/never_dry/config_flow.py",
     "line": 893,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/never_dry/sensor.py",
     "line": 250,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "SpanPanel/span",
   "domain": "span_panel",
   "domains": [
    "span_panel"
   ],
   "version": "v2.0.8",
   "ref": "refs/tags/v2.0.8",
   "stargazers_count": 45,
   "repo_url": "https://github.com/SpanPanel/span",
   "scanned_utc": "2026-08-08T05:12:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/span_panel/__init__.py",
     "line": 332,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/span_panel/util.py",
     "line": 38,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/span_panel/util.py",
     "line": 59,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "timlaing/modbus_local_gateway",
   "domain": "modbus_local_gateway",
   "domains": [
    "modbus_local_gateway"
   ],
   "version": "v2026.02.0",
   "ref": "refs/tags/v2026.02.0",
   "stargazers_count": 45,
   "repo_url": "https://github.com/timlaing/modbus_local_gateway",
   "scanned_utc": "2026-08-12T04:02:17Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/modbus_local_gateway/sensor.py",
     "line": 182,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "drake69/NeverDry",
   "domain": "never_dry",
   "domains": [
    "never_dry"
   ],
   "version": "v0.11.0",
   "ref": "refs/tags/v0.11.0",
   "stargazers_count": 44,
   "repo_url": "https://github.com/drake69/NeverDry",
   "scanned_utc": "2026-08-09T03:53:00Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/never_dry/config_flow.py",
     "line": 893,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/never_dry/sensor.py",
     "line": 250,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "snell-evan-itt/hassio-ecoflow-cloud-US",
   "domain": "ecoflow_cloud",
   "domains": [
    "ecoflow_cloud"
   ],
   "version": "v1.1.7",
   "ref": "refs/tags/v1.1.7",
   "stargazers_count": 43,
   "repo_url": "https://github.com/snell-evan-itt/hassio-ecoflow-cloud-US",
   "scanned_utc": "2026-08-12T04:00:52Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ecoflow_cloud/config_flow.py",
     "line": 84,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "denysdovhan/ha-lun-misto-air",
   "domain": "lun_misto_air",
   "domains": [
    "lun_misto_air"
   ],
   "version": "v1.1.1",
   "ref": "refs/tags/v1.1.1",
   "stargazers_count": 41,
   "repo_url": "https://github.com/denysdovhan/ha-lun-misto-air",
   "scanned_utc": "2026-08-09T03:52:29Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lun_misto_air/migrations.py",
     "line": 65,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lun_misto_air/migrations.py",
     "line": 70,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/lun_misto_air/migrations.py",
     "line": 82,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/lun_misto_air/migrations.py",
     "line": 87,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "IAmTheMitchell/renogy-ha",
   "domain": "renogy",
   "domains": [
    "renogy"
   ],
   "version": "v0.8.0",
   "ref": "refs/tags/v0.8.0",
   "stargazers_count": 41,
   "repo_url": "https://github.com/IAmTheMitchell/renogy-ha",
   "scanned_utc": "2026-08-08T05:06:04Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/renogy/__init__.py",
     "line": 181,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "SlyBase/homeassistant-openmediavault",
   "domain": "omv",
   "domains": [
    "omv"
   ],
   "version": "v2.6.6",
   "ref": "refs/tags/v2.6.6",
   "stargazers_count": 41,
   "repo_url": "https://github.com/SlyBase/homeassistant-openmediavault",
   "scanned_utc": "2026-08-08T05:12:24Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/omv/entity.py",
     "line": 192,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/omv/entity.py",
     "line": 236,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/omv/entity.py",
     "line": 297,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/omv/entity.py",
     "line": 325,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/omv/entity.py",
     "line": 343,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "ha-china/ai_hub",
   "domain": "ai_hub",
   "domains": [
    "ai_hub"
   ],
   "version": "2026.08.0",
   "ref": "refs/tags/2026.08.0",
   "stargazers_count": 40,
   "repo_url": "https://github.com/ha-china/ai_hub",
   "scanned_utc": "2026-08-09T03:55:06Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ai_hub/__init__.py",
     "line": 199,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "PimDoos/ha-sessy",
   "domain": "sessy",
   "domains": [
    "sessy"
   ],
   "version": "v1.0.4",
   "ref": "refs/tags/v1.0.4",
   "stargazers_count": 40,
   "repo_url": "https://github.com/PimDoos/ha-sessy",
   "scanned_utc": "2026-08-08T05:10:45Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sessy/device.py",
     "line": 86,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sessy/device.py",
     "line": 114,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sessy/device.py",
     "line": 133,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sessy/device.py",
     "line": 150,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sessy/device.py",
     "line": 172,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "eXPerience83/pollenlevels",
   "domain": "pollenlevels",
   "domains": [
    "pollenlevels"
   ],
   "version": "v3.0.0",
   "ref": "refs/tags/v3.0.0",
   "stargazers_count": 39,
   "repo_url": "https://github.com/eXPerience83/pollenlevels",
   "scanned_utc": "2026-08-09T03:53:09Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/pollenlevels/migration.py",
     "line": 629,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/pollenlevels/migration.py",
     "line": 636,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/pollenlevels/migration.py",
     "line": 641,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "hudsonbrendon/HA-drivvo",
   "domain": "drivvo",
   "domains": [
    "drivvo"
   ],
   "version": "v3.0.0",
   "ref": "refs/tags/v3.0.0",
   "stargazers_count": 39,
   "repo_url": "https://github.com/hudsonbrendon/HA-drivvo",
   "scanned_utc": "2026-08-10T03:57:05Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/drivvo/config_flow.py",
     "line": 77,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "MarcusTaz/ha_kia_hyundai_USA",
   "domain": "ha_kia_hyundai",
   "domains": [
    "ha_kia_hyundai"
   ],
   "version": "v3.3.3",
   "ref": "refs/tags/v3.3.3",
   "stargazers_count": 39,
   "repo_url": "https://github.com/MarcusTaz/ha_kia_hyundai_USA",
   "scanned_utc": "2026-08-08T05:08:19Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_kia_hyundai/diagnostics.py",
     "line": 59,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "qlerup/chores4kids",
   "domain": "chores4kids",
   "domains": [
    "chores4kids"
   ],
   "version": "v3.2.1",
   "ref": "refs/tags/v3.2.1",
   "stargazers_count": 39,
   "repo_url": "https://github.com/qlerup/chores4kids",
   "scanned_utc": "2026-08-12T03:58:30Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/chores4kids/__init__.py",
     "line": 835,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ThomasLomas/ha-starlinghomehub",
   "domain": "starling_home_hub",
   "domains": [
    "starling_home_hub"
   ],
   "version": "v1.8.2",
   "ref": "refs/tags/v1.8.2",
   "stargazers_count": 39,
   "repo_url": "https://github.com/ThomasLomas/ha-starlinghomehub",
   "scanned_utc": "2026-08-08T05:13:16Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/starling_home_hub/coordinator.py",
     "line": 85,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "akinin/ha_keenetic",
   "domain": "ha_keenetic",
   "domains": [
    "ha_keenetic"
   ],
   "version": "v2.1.2",
   "ref": "refs/tags/v2.1.2",
   "stargazers_count": 38,
   "repo_url": "https://github.com/akinin/ha_keenetic",
   "scanned_utc": "2026-08-08T05:15:08Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_keenetic/__init__.py",
     "line": 181,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "cloudless-garden/ha-gardena-smart-local-preview",
   "domain": "gardena_smart_local_preview",
   "domains": [
    "gardena_smart_local_preview"
   ],
   "version": "v0.2.0",
   "ref": "refs/tags/v0.2.0",
   "stargazers_count": 38,
   "repo_url": "https://github.com/cloudless-garden/ha-gardena-smart-local-preview",
   "scanned_utc": "2026-08-08T05:21:02Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/gardena_smart_local_preview/__init__.py",
     "line": 126,
     "confidence": "medium"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/gardena_smart_local_preview/__init__.py",
     "line": 130,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/gardena_smart_local_preview/__init__.py",
     "line": 132,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "TheNoctambulist/hass-airtouch",
   "domain": "airtouch",
   "domains": [
    "airtouch"
   ],
   "version": "v1.10.1",
   "ref": "refs/tags/v1.10.1",
   "stargazers_count": 38,
   "repo_url": "https://github.com/TheNoctambulist/hass-airtouch",
   "scanned_utc": "2026-08-08T05:13:09Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/airtouch/devices.py",
     "line": 66,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "dkarv/ha-komodo",
   "domain": "komodo",
   "domains": [
    "komodo"
   ],
   "version": "v1.1.3",
   "ref": "refs/tags/v1.1.3",
   "stargazers_count": 37,
   "repo_url": "https://github.com/dkarv/ha-komodo",
   "scanned_utc": "2026-08-09T03:52:46Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/komodo/utils.py",
     "line": 17,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "FredrikM97/hass-surepetcare",
   "domain": "surepcha",
   "domains": [
    "surepcha"
   ],
   "version": "v2.2.3",
   "ref": "refs/tags/v2.2.3",
   "stargazers_count": 37,
   "repo_url": "https://github.com/FredrikM97/hass-surepetcare",
   "scanned_utc": "2026-08-08T05:05:10Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/surepcha/__init__.py",
     "line": 187,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/surepcha/entity.py",
     "line": 44,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/surepcha/services.py",
     "line": 130,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "jaycollett/OpenIRBlaster",
   "domain": "openirblaster",
   "domains": [
    "openirblaster"
   ],
   "version": "v1.1.0",
   "ref": "refs/tags/v1.1.0",
   "stargazers_count": 37,
   "repo_url": "https://github.com/jaycollett/OpenIRBlaster",
   "scanned_utc": "2026-08-10T03:57:50Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openirblaster/__init__.py",
     "line": 277,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "juacas/zte_tracker",
   "domain": "zte_tracker",
   "domains": [
    "zte_tracker"
   ],
   "version": "v2.0.20",
   "ref": "refs/tags/v2.0.20",
   "stargazers_count": 37,
   "repo_url": "https://github.com/juacas/zte_tracker",
   "scanned_utc": "2026-08-10T03:58:52Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/zte_tracker/device_tracker.py",
     "line": 231,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "ruaan-deysel/ha-unifi-insights",
   "domain": "unifi_insights",
   "domains": [
    "unifi_insights"
   ],
   "version": "v2026.6.4",
   "ref": "refs/tags/v2026.6.4",
   "stargazers_count": 37,
   "repo_url": "https://github.com/ruaan-deysel/ha-unifi-insights",
   "scanned_utc": "2026-08-12T03:59:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_insights/coordinator.py",
     "line": 619,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_insights/coordinator.py",
     "line": 627,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_insights/coordinator.py",
     "line": 656,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_insights/coordinator.py",
     "line": 665,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_insights/coordinators/device.py",
     "line": 649,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_insights/coordinators/device.py",
     "line": 657,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_insights/coordinators/protect.py",
     "line": 536,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_insights/coordinators/protect.py",
     "line": 545,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "FaserF/ha-whatsapp",
   "domain": "whatsapp",
   "domains": [
    "whatsapp"
   ],
   "version": "v1.8.2",
   "ref": "refs/tags/v1.8.2",
   "stargazers_count": 34,
   "repo_url": "https://github.com/FaserF/ha-whatsapp",
   "scanned_utc": "2026-08-08T05:04:56Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/whatsapp/coordinator.py",
     "line": 215,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "houzzkit/houzzkit-ai-ha",
   "domain": "houzzkit_ai",
   "domains": [
    "houzzkit_ai"
   ],
   "version": "2026.4.0",
   "ref": "refs/tags/2026.4.0",
   "stargazers_count": 34,
   "repo_url": "https://github.com/houzzkit/houzzkit-ai-ha",
   "scanned_utc": "2026-08-10T03:57:01Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/houzzkit_ai/entity.py",
     "line": 129,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/houzzkit_ai/entity.py",
     "line": 134,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/houzzkit_ai/houzzkit/http.py",
     "line": 97,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "alepee/hass-hitachi_yutaki",
   "domain": "hitachi_yutaki",
   "domains": [
    "hitachi_yutaki"
   ],
   "version": "v2.1.6",
   "ref": "refs/tags/v2.1.6",
   "stargazers_count": 33,
   "repo_url": "https://github.com/alepee/hass-hitachi_yutaki",
   "scanned_utc": "2026-08-08T05:15:28Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hitachi_yutaki/__init__.py",
     "line": 487,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hitachi_yutaki/__init__.py",
     "line": 498,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hitachi_yutaki/__init__.py",
     "line": 511,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hitachi_yutaki/__init__.py",
     "line": 524,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hitachi_yutaki/__init__.py",
     "line": 537,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hitachi_yutaki/__init__.py",
     "line": 550,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hitachi_yutaki/__init__.py",
     "line": 563,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Csontikka/ha-mikrotik-extended",
   "domain": "mikrotik_extended",
   "domains": [
    "mikrotik_extended"
   ],
   "version": "v0.7.2",
   "ref": "refs/tags/v0.7.2",
   "stargazers_count": 33,
   "repo_url": "https://github.com/Csontikka/ha-mikrotik-extended",
   "scanned_utc": "2026-08-13T04:28:36Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mikrotik_extended/coordinator.py",
     "line": 1149,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mikrotik_extended/entity.py",
     "line": 399,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mikrotik_extended/entity.py",
     "line": 419,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "enoch85/ovms-home-assistant",
   "domain": "ovms",
   "domains": [
    "ovms"
   ],
   "version": "v1.7.2",
   "ref": "refs/tags/v1.7.2",
   "stargazers_count": 33,
   "repo_url": "https://github.com/enoch85/ovms-home-assistant",
   "scanned_utc": "2026-08-09T03:53:30Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ovms/migrations.py",
     "line": 253,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ovms/migrations.py",
     "line": 257,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/ovms/migrations.py",
     "line": 269,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ovms/migrations.py",
     "line": 434,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/ovms/migrations.py",
     "line": 484,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ovms/mqtt/update_dispatcher.py",
     "line": 278,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ovms/mqtt/update_dispatcher.py",
     "line": 287,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "myny-git/smappee_ev",
   "domain": "smappee_ev",
   "domains": [
    "smappee_ev"
   ],
   "version": "2026.8.0",
   "ref": "refs/tags/2026.8.0",
   "stargazers_count": 33,
   "repo_url": "https://github.com/myny-git/smappee_ev",
   "scanned_utc": "2026-08-11T03:55:50Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/smappee_ev/registry.py",
     "line": 32,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/smappee_ev/runtime_devices.py",
     "line": 30,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/smappee_ev/runtime_devices.py",
     "line": 64,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/smappee_ev/runtime_devices.py",
     "line": 81,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "giachello/mlgw",
   "domain": "mlgw",
   "domains": [
    "mlgw"
   ],
   "version": "v2024.9.1",
   "ref": "refs/tags/v2024.9.1",
   "stargazers_count": 32,
   "repo_url": "https://github.com/giachello/mlgw",
   "scanned_utc": "2026-08-09T03:54:37Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mlgw/media_player.py",
     "line": 503,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "thomasgregg/oralb-ha",
   "domain": "oralb_live",
   "domains": [
    "oralb_live"
   ],
   "version": "v0.7.16",
   "ref": "refs/tags/v0.7.16",
   "stargazers_count": 31,
   "repo_url": "https://github.com/thomasgregg/oralb-ha",
   "scanned_utc": "2026-08-12T04:02:04Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/oralb_live/sensor.py",
     "line": 692,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "barneyonline/ha-enphase-energy",
   "domain": "enphase_ev",
   "domains": [
    "enphase_ev"
   ],
   "version": "v4.2.1",
   "ref": "refs/tags/v4.2.1",
   "stargazers_count": 30,
   "repo_url": "https://github.com/barneyonline/ha-enphase-energy",
   "scanned_utc": "2026-08-08T05:17:48Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/enphase_ev/device_registry_compat.py",
     "line": 20,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "raetha/ha-dockhand",
   "domain": "dockhand",
   "domains": [
    "dockhand"
   ],
   "version": "v1.9.0",
   "ref": "refs/tags/v1.9.0",
   "stargazers_count": 30,
   "repo_url": "https://github.com/raetha/ha-dockhand",
   "scanned_utc": "2026-08-12T03:58:37Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dockhand/helpers.py",
     "line": 265,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dockhand/helpers.py",
     "line": 277,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dockhand/helpers.py",
     "line": 289,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dockhand/helpers.py",
     "line": 301,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dockhand/helpers.py",
     "line": 336,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dockhand/helpers.py",
     "line": 382,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dockhand/helpers.py",
     "line": 396,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dockhand/helpers.py",
     "line": 420,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dockhand/helpers.py",
     "line": 477,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "thecode/ha-onewire-sysbus",
   "domain": "onewire_sysbus",
   "domains": [
    "onewire_sysbus"
   ],
   "version": "2024.3.0",
   "ref": "refs/tags/2024.3.0",
   "stargazers_count": 30,
   "repo_url": "https://github.com/thecode/ha-onewire-sysbus",
   "scanned_utc": "2026-08-12T04:01:57Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/onewire_sysbus/onewirehub.py",
     "line": 68,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "gentslava/elektronny-gorod",
   "domain": "elektronny_gorod",
   "domains": [
    "elektronny_gorod"
   ],
   "version": "4.0.0",
   "ref": "refs/tags/4.0.0",
   "stargazers_count": 29,
   "repo_url": "https://github.com/gentslava/elektronny-gorod",
   "scanned_utc": "2026-08-09T03:54:32Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/elektronny_gorod/camera.py",
     "line": 211,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/elektronny_gorod/event.py",
     "line": 306,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/elektronny_gorod/event.py",
     "line": 377,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/elektronny_gorod/event.py",
     "line": 461,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/elektronny_gorod/lock.py",
     "line": 88,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/elektronny_gorod/sensor.py",
     "line": 392,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Mat931/digitalstrom-homeassistant",
   "domain": "digitalstrom",
   "domains": [
    "digitalstrom"
   ],
   "version": "v0.0.13",
   "ref": "refs/tags/v0.0.13",
   "stargazers_count": 29,
   "repo_url": "https://github.com/Mat931/digitalstrom-homeassistant",
   "scanned_utc": "2026-08-08T05:08:24Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/digitalstrom/climate.py",
     "line": 278,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/digitalstrom/entity.py",
     "line": 31,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/digitalstrom/scene.py",
     "line": 143,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "svasek/homeassistant-neopool-modbus",
   "domain": "neopool",
   "domains": [
    "neopool"
   ],
   "version": "v4.0.0",
   "ref": "refs/tags/v4.0.0",
   "stargazers_count": 29,
   "repo_url": "https://github.com/svasek/homeassistant-neopool-modbus",
   "scanned_utc": "2026-08-12T04:01:36Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/neopool/config_flow.py",
     "line": 321,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/neopool/migration.py",
     "line": 236,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/neopool/migration.py",
     "line": 515,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/neopool/migration.py",
     "line": 530,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "clintongormley/everything-presence-pro-grid",
   "domain": "eppgrid",
   "domains": [
    "eppgrid"
   ],
   "version": "v1.7.0",
   "ref": "refs/tags/v1.7.0",
   "stargazers_count": 28,
   "repo_url": "https://github.com/clintongormley/everything-presence-pro-grid",
   "scanned_utc": "2026-08-08T05:20:58Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eppgrid/binary_sensor.py",
     "line": 176,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eppgrid/device_groups/_registry.py",
     "line": 56,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eppgrid/websocket_api/_device_groups.py",
     "line": 284,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "sebakerckhof/aritech-ha",
   "domain": "aritech_ats",
   "domains": [
    "aritech_ats"
   ],
   "version": "0.7.0",
   "ref": "refs/tags/0.7.0",
   "stargazers_count": 28,
   "repo_url": "https://github.com/sebakerckhof/aritech-ha",
   "scanned_utc": "2026-08-12T04:00:12Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aritech_ats/alarm_control_panel.py",
     "line": 108,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aritech_ats/binary_sensor.py",
     "line": 54,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aritech_ats/binary_sensor.py",
     "line": 580,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aritech_ats/binary_sensor.py",
     "line": 827,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aritech_ats/binary_sensor.py",
     "line": 840,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aritech_ats/binary_sensor.py",
     "line": 853,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aritech_ats/button.py",
     "line": 22,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aritech_ats/sensor.py",
     "line": 38,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aritech_ats/sensor.py",
     "line": 51,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aritech_ats/switch.py",
     "line": 24,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aritech_ats/switch.py",
     "line": 48,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aritech_ats/switch.py",
     "line": 61,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "tibuntu/homeassistant-kubernetes",
   "domain": "kubernetes",
   "domains": [
    "kubernetes"
   ],
   "version": "v1.8.0",
   "ref": "refs/tags/v1.8.0",
   "stargazers_count": 28,
   "repo_url": "https://github.com/tibuntu/homeassistant-kubernetes",
   "scanned_utc": "2026-08-12T04:02:14Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/kubernetes/device.py",
     "line": 44,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/kubernetes/device.py",
     "line": 82,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/kubernetes/device.py",
     "line": 92,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/kubernetes/device.py",
     "line": 135,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "starwarsfan/shadow-control",
   "domain": "shadow_control",
   "domains": [
    "shadow_control"
   ],
   "version": "0.13.1",
   "ref": "refs/tags/0.13.1",
   "stargazers_count": 27,
   "repo_url": "https://github.com/starwarsfan/shadow-control",
   "scanned_utc": "2026-08-12T04:01:17Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/shadow_control/__init__.py",
     "line": 474,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "brettmeyerowitz/homeassistant-homgar",
   "domain": "homgar",
   "domains": [
    "homgar"
   ],
   "version": "v3.0.42",
   "ref": "refs/tags/v3.0.42",
   "stargazers_count": 26,
   "repo_url": "https://github.com/brettmeyerowitz/homeassistant-homgar",
   "scanned_utc": "2026-08-08T05:19:18Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homgar/__init__.py",
     "line": 333,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homgar/areas.py",
     "line": 77,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homgar/areas.py",
     "line": 115,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homgar/areas.py",
     "line": 122,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homgar/migrate.py",
     "line": 140,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homgar/migrate.py",
     "line": 237,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homgar/migrate.py",
     "line": 238,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homgar/migrate.py",
     "line": 297,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homgar/migrate.py",
     "line": 314,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "kcofoni/ha-netro-watering",
   "domain": "netro_watering",
   "domains": [
    "netro_watering"
   ],
   "version": "1.4.1",
   "ref": "refs/tags/1.4.1",
   "stargazers_count": 26,
   "repo_url": "https://github.com/kcofoni/ha-netro-watering",
   "scanned_utc": "2026-08-10T03:59:09Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/netro_watering/coordinator.py",
     "line": 428,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "LarsK1/hass_solvis_control",
   "domain": "solvis_control",
   "domains": [
    "solvis_control"
   ],
   "version": "v2.1.3",
   "ref": "refs/tags/v2.1.3",
   "stargazers_count": 26,
   "repo_url": "https://github.com/LarsK1/hass_solvis_control",
   "scanned_utc": "2026-08-08T05:07:39Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solvis_control/update.py",
     "line": 86,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "piitaya/home-assistant-qubino-wire-pilot",
   "domain": "qubino_wire_pilot",
   "domains": [
    "qubino_wire_pilot"
   ],
   "version": "3.0.3",
   "ref": "refs/tags/3.0.3",
   "stargazers_count": 26,
   "repo_url": "https://github.com/piitaya/home-assistant-qubino-wire-pilot",
   "scanned_utc": "2026-08-11T03:57:28Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "core-call-async-remove-helper-config-entry-from-source-device",
     "breaks_in": "2027.8",
     "file": "custom_components/qubino_wire_pilot/__init__.py",
     "line": 75,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "corporategoth/ha-powerpetdoor",
   "domain": "powerpetdoor",
   "domains": [
    "powerpetdoor"
   ],
   "version": "0.4.6",
   "ref": "refs/tags/0.4.6",
   "stargazers_count": 25,
   "repo_url": "https://github.com/corporategoth/ha-powerpetdoor",
   "scanned_utc": "2026-08-08T05:21:23Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/powerpetdoor/sensor.py",
     "line": 140,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Taraman17/hass-homee",
   "domain": "homee",
   "domains": [
    "homee"
   ],
   "version": "v4.0.0",
   "ref": "refs/tags/v4.0.0",
   "stargazers_count": 25,
   "repo_url": "https://github.com/Taraman17/hass-homee",
   "scanned_utc": "2026-08-08T05:12:54Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homee/entity.py",
     "line": 102,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "ufozone/ha-zcs-mower",
   "domain": "zcsmower",
   "domains": [
    "zcsmower"
   ],
   "version": "v1.12",
   "ref": "refs/tags/v1.12",
   "stargazers_count": 25,
   "repo_url": "https://github.com/ufozone/ha-zcs-mower",
   "scanned_utc": "2026-08-13T04:25:04Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/zcsmower/config_flow.py",
     "line": 605,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/zcsmower/config_flow.py",
     "line": 673,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "Bebbssos/ha-defa-power",
   "domain": "defa_power",
   "domains": [
    "defa_power"
   ],
   "version": "v0.5.3",
   "ref": "refs/tags/v0.5.3",
   "stargazers_count": 24,
   "repo_url": "https://github.com/Bebbssos/ha-defa-power",
   "scanned_utc": "2026-08-13T04:27:39Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/defa_power/devices.py",
     "line": 28,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "kayl-codes/homeassistant-truenas",
   "domain": "truenas_ce",
   "domains": [
    "truenas_ce"
   ],
   "version": "v2.6.0",
   "ref": "refs/tags/v2.6.0",
   "stargazers_count": 24,
   "repo_url": "https://github.com/kayl-codes/homeassistant-truenas",
   "scanned_utc": "2026-08-10T03:59:07Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/truenas_ce/entity.py",
     "line": 553,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "partach/switch_port_card_pro",
   "domain": "switch_port_card_pro",
   "domains": [
    "switch_port_card_pro"
   ],
   "version": "v1.0.0",
   "ref": "refs/tags/v1.0.0",
   "stargazers_count": 24,
   "repo_url": "https://github.com/partach/switch_port_card_pro",
   "scanned_utc": "2026-08-11T03:57:03Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/switch_port_card_pro/sensor.py",
     "line": 287,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Strixx76/samsungwam",
   "domain": "samsungwam",
   "domains": [
    "samsungwam"
   ],
   "version": "v0.2.0",
   "ref": "refs/tags/v0.2.0",
   "stargazers_count": 24,
   "repo_url": "https://github.com/Strixx76/samsungwam",
   "scanned_utc": "2026-08-08T05:12:40Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/samsungwam/wam_device.py",
     "line": 217,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "tggm/rointe-radiators",
   "domain": "rointe",
   "domains": [
    "rointe"
   ],
   "version": "v2.2.1-1",
   "ref": "refs/tags/v2.2.1-1",
   "stargazers_count": 24,
   "repo_url": "https://github.com/tggm/rointe-radiators",
   "scanned_utc": "2026-08-12T04:01:56Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/rointe/coordinator.py",
     "line": 152,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "GyroGearl00se/ha_froeling_lambdatronic_modbus",
   "domain": "froeling_lambdatronic_modbus",
   "domains": [
    "froeling_lambdatronic_modbus"
   ],
   "version": "v2.4.3",
   "ref": "refs/tags/v2.4.3",
   "stargazers_count": 23,
   "repo_url": "https://github.com/GyroGearl00se/ha_froeling_lambdatronic_modbus",
   "scanned_utc": "2026-08-08T05:05:36Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/froeling_lambdatronic_modbus/__init__.py",
     "line": 116,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "MarcoGos/davis_vantage",
   "domain": "davis_vantage",
   "domains": [
    "davis_vantage"
   ],
   "version": "v1.9.0",
   "ref": "refs/tags/v1.9.0",
   "stargazers_count": 23,
   "repo_url": "https://github.com/MarcoGos/davis_vantage",
   "scanned_utc": "2026-08-08T05:08:18Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/davis_vantage/coordinator.py",
     "line": 48,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "MateoGreil/homeassistant-comwatt",
   "domain": "comwatt",
   "domains": [
    "comwatt"
   ],
   "version": "v0.6.2",
   "ref": "refs/tags/v0.6.2",
   "stargazers_count": 23,
   "repo_url": "https://github.com/MateoGreil/homeassistant-comwatt",
   "scanned_utc": "2026-08-08T05:08:26Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/comwatt/__init__.py",
     "line": 71,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "MattDahEpic/ha-midas",
   "domain": "midas",
   "domains": [
    "midas"
   ],
   "version": "v1.1.0",
   "ref": "refs/tags/v1.1.0",
   "stargazers_count": 23,
   "repo_url": "https://github.com/MattDahEpic/ha-midas",
   "scanned_utc": "2026-08-08T05:08:28Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/midas/config_flow.py",
     "line": 123,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "mtheli/philips_shaver",
   "domain": "philips_shaver",
   "domains": [
    "philips_shaver"
   ],
   "version": "v0.26.0",
   "ref": "refs/tags/v0.26.0",
   "stargazers_count": 23,
   "repo_url": "https://github.com/mtheli/philips_shaver",
   "scanned_utc": "2026-08-11T03:55:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_shaver/__init__.py",
     "line": 110,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_shaver/__init__.py",
     "line": 121,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_shaver/__init__.py",
     "line": 129,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_shaver/__init__.py",
     "line": 173,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_shaver/coordinator.py",
     "line": 723,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_shaver/coordinator.py",
     "line": 1224,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_shaver/entity.py",
     "line": 124,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/philips_shaver/update.py",
     "line": 92,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "WulfgarW/ha_get_euda_data",
   "domain": "get_euda_data",
   "domains": [
    "get_euda_data"
   ],
   "version": "0.0.19",
   "ref": "refs/tags/0.0.19",
   "stargazers_count": 23,
   "repo_url": "https://github.com/WulfgarW/ha_get_euda_data",
   "scanned_utc": "2026-08-08T05:14:02Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/get_euda_data/__init__.py",
     "line": 120,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "andystewart999/ha_transportnsw",
   "domain": "ha_transportnsw",
   "domains": [
    "ha_transportnsw"
   ],
   "version": "3.0.0",
   "ref": "refs/tags/3.0.0",
   "stargazers_count": 22,
   "repo_url": "https://github.com/andystewart999/ha_transportnsw",
   "scanned_utc": "2026-08-08T05:16:44Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_transportnsw/helpers.py",
     "line": 284,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_transportnsw/helpers.py",
     "line": 286,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Kannix2005/homeassistant-selve",
   "domain": "selve",
   "domains": [
    "selve"
   ],
   "version": "v3.3.15",
   "ref": "refs/tags/v3.3.15",
   "stargazers_count": 22,
   "repo_url": "https://github.com/Kannix2005/homeassistant-selve",
   "scanned_utc": "2026-08-08T05:07:05Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/selve/binary_sensor.py",
     "line": 126,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/selve/cover.py",
     "line": 213,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "vithurshanselvarajah/ha-glinet-router",
   "domain": "ha_glinet",
   "domains": [
    "ha_glinet"
   ],
   "version": "v1.5.0",
   "ref": "refs/tags/v1.5.0",
   "stargazers_count": 22,
   "repo_url": "https://github.com/vithurshanselvarajah/ha-glinet-router",
   "scanned_utc": "2026-08-13T04:25:27Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_glinet/entities/device_tracker.py",
     "line": 63,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_glinet/entities/select.py",
     "line": 221,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_glinet/entities/sensor.py",
     "line": 975,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_glinet/entities/switch.py",
     "line": 717,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_glinet/hub.py",
     "line": 320,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_glinet/hub.py",
     "line": 913,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_glinet/hub.py",
     "line": 972,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "cabberley/utility_meter_evolved",
   "domain": "utility_meter_next_gen",
   "domains": [
    "utility_meter_next_gen"
   ],
   "version": "v2026.5.1",
   "ref": "refs/tags/v2026.5.1",
   "stargazers_count": 21,
   "repo_url": "https://github.com/cabberley/utility_meter_evolved",
   "scanned_utc": "2026-08-08T05:19:56Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "core-call-async-remove-stale-devices-links-keep-entity-device",
     "breaks_in": "2027.8",
     "file": "custom_components/utility_meter_next_gen/__init__.py",
     "line": 196,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-remove-stale-devices-links-keep-entity-device",
     "breaks_in": "2027.8",
     "file": "custom_components/utility_meter_next_gen/__init__.py",
     "line": 224,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-device-info-to-link-from-entity",
     "breaks_in": "2027.8",
     "file": "custom_components/utility_meter_next_gen/select.py",
     "line": 34,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-device-info-to-link-from-entity",
     "breaks_in": "2027.8",
     "file": "custom_components/utility_meter_next_gen/sensor.py",
     "line": 148,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "eifinger/hass-foldingathomecontrol",
   "domain": "foldingathomecontrol",
   "domains": [
    "foldingathomecontrol"
   ],
   "version": "v2.4.2",
   "ref": "refs/tags/v2.4.2",
   "stargazers_count": 21,
   "repo_url": "https://github.com/eifinger/hass-foldingathomecontrol",
   "scanned_utc": "2026-08-09T03:53:13Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/foldingathomecontrol/foldingathomecontrol_device.py",
     "line": 64,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "lizardsystems/hass-tnse",
   "domain": "tns_energo",
   "domains": [
    "tns_energo"
   ],
   "version": "v2.0.4",
   "ref": "refs/tags/v2.0.4",
   "stargazers_count": 21,
   "repo_url": "https://github.com/lizardsystems/hass-tnse",
   "scanned_utc": "2026-08-10T04:00:18Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tns_energo/entity.py",
     "line": 76,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "lnagel/hass-ufh-controller",
   "domain": "ufh_controller",
   "domains": [
    "ufh_controller"
   ],
   "version": "v0.6.0",
   "ref": "refs/tags/v0.6.0",
   "stargazers_count": 21,
   "repo_url": "https://github.com/lnagel/hass-ufh-controller",
   "scanned_utc": "2026-08-10T04:00:23Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ufh_controller/device.py",
     "line": 34,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Syonix/ha-wiser-by-feller",
   "domain": "wiser_by_feller",
   "domains": [
    "wiser_by_feller"
   ],
   "version": "v0.3.0",
   "ref": "refs/tags/v0.3.0",
   "stargazers_count": 21,
   "repo_url": "https://github.com/Syonix/ha-wiser-by-feller",
   "scanned_utc": "2026-08-08T05:12:48Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/wiser_by_feller/__init__.py",
     "line": 367,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/wiser_by_feller/repairs.py",
     "line": 124,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "404GamerNotFound/vserver-ssh-stats",
   "domain": "vserver_ssh_stats",
   "domains": [
    "vserver_ssh_stats"
   ],
   "version": "v1.5.6",
   "ref": "refs/tags/v1.5.6",
   "stargazers_count": 20,
   "repo_url": "https://github.com/404GamerNotFound/vserver-ssh-stats",
   "scanned_utc": "2026-08-13T04:26:51Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/vserver_ssh_stats/__init__.py",
     "line": 99,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vserver_ssh_stats/__init__.py",
     "line": 125,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vserver_ssh_stats/button.py",
     "line": 81,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vserver_ssh_stats/util.py",
     "line": 141,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vserver_ssh_stats/util.py",
     "line": 162,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_update_device"
   }
  },
  {
   "full_name": "abnvle/ha-imgw-pib-monitor",
   "domain": "imgw_pib_monitor",
   "domains": [
    "imgw_pib_monitor"
   ],
   "version": "v2.2.4",
   "ref": "refs/tags/v2.2.4",
   "stargazers_count": 20,
   "repo_url": "https://github.com/abnvle/ha-imgw-pib-monitor",
   "scanned_utc": "2026-08-08T05:14:35Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/imgw_pib_monitor/__init__.py",
     "line": 62,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/imgw_pib_monitor/__init__.py",
     "line": 105,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "alexdelprete/ha-sinapsi-alfa",
   "domain": "sinapsi_alfa",
   "domains": [
    "sinapsi_alfa"
   ],
   "version": "v1.13.9",
   "ref": "refs/tags/v1.13.9",
   "stargazers_count": 20,
   "repo_url": "https://github.com/alexdelprete/ha-sinapsi-alfa",
   "scanned_utc": "2026-08-08T05:15:37Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sinapsi_alfa/__init__.py",
     "line": 92,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sinapsi_alfa/__init__.py",
     "line": 107,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Aohzan/ipx800v5",
   "domain": "ipx800v5",
   "domains": [
    "ipx800v5"
   ],
   "version": "2.1.0",
   "ref": "refs/tags/2.1.0",
   "stargazers_count": 20,
   "repo_url": "https://github.com/Aohzan/ipx800v5",
   "scanned_utc": "2026-08-13T04:27:25Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ipx800v5/entity.py",
     "line": 104,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "DTekNO/mspa-homeassistant",
   "domain": "mspa",
   "domains": [
    "mspa"
   ],
   "version": "v2026.8.1",
   "ref": "refs/tags/v2026.8.1",
   "stargazers_count": 20,
   "repo_url": "https://github.com/DTekNO/mspa-homeassistant",
   "scanned_utc": "2026-08-13T04:28:53Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mspa/__init__.py",
     "line": 75,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mspa/__init__.py",
     "line": 78,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "Refoss/refoss_rpc",
   "domain": "refoss_rpc",
   "domains": [
    "refoss_rpc"
   ],
   "version": "v1.0.8",
   "ref": "refs/tags/v1.0.8",
   "stargazers_count": 20,
   "repo_url": "https://github.com/Refoss/refoss_rpc",
   "scanned_utc": "2026-08-08T05:11:23Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/refoss_rpc/utils.py",
     "line": 127,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ronnnnnnnnnnnnn/renpho_fitness_scale_ble",
   "domain": "renpho_fitness_scale_ble",
   "domains": [
    "renpho_fitness_scale_ble"
   ],
   "version": "v0.3.2",
   "ref": "refs/tags/v0.3.2",
   "stargazers_count": 20,
   "repo_url": "https://github.com/ronnnnnnnnnnnnn/renpho_fitness_scale_ble",
   "scanned_utc": "2026-08-12T03:59:21Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/renpho_fitness_scale_ble/coordinator.py",
     "line": 2510,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/renpho_fitness_scale_ble/coordinator.py",
     "line": 2824,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "bacco007/sensor.opennem",
   "domain": "opennem",
   "domains": [
    "opennem"
   ],
   "version": "2025.05.2",
   "ref": "refs/tags/2025.05.2",
   "stargazers_count": 19,
   "repo_url": "https://github.com/bacco007/sensor.opennem",
   "scanned_utc": "2026-08-08T05:17:35Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/opennem/diagnostics.py",
     "line": 40,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "kattcrazy/Tuya-Unsupported-Sensors",
   "domain": "tuya_unsupported_sensors",
   "domains": [
    "tuya_unsupported_sensors"
   ],
   "version": "v1.13.12",
   "ref": "refs/tags/v1.13.12",
   "stargazers_count": 19,
   "repo_url": "https://github.com/kattcrazy/Tuya-Unsupported-Sensors",
   "scanned_utc": "2026-08-10T03:59:06Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tuya_unsupported_sensors/binary_sensor.py",
     "line": 130,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tuya_unsupported_sensors/sensor.py",
     "line": 206,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "bkbilly/mqtt_media_player",
   "domain": "mqtt_media_player",
   "domains": [
    "mqtt_media_player"
   ],
   "version": "2026.8.1",
   "ref": "refs/tags/2026.8.1",
   "stargazers_count": 18,
   "repo_url": "https://github.com/bkbilly/mqtt_media_player",
   "scanned_utc": "2026-08-08T05:18:49Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mqtt_media_player/media_player.py",
     "line": 101,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "loopj/home-assistant-vantage",
   "domain": "vantage",
   "domains": [
    "vantage"
   ],
   "version": "0.14.7",
   "ref": "refs/tags/0.14.7",
   "stargazers_count": 18,
   "repo_url": "https://github.com/loopj/home-assistant-vantage",
   "scanned_utc": "2026-08-10T04:00:25Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vantage/device.py",
     "line": 60,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vantage/entity.py",
     "line": 157,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vantage/entity.py",
     "line": 178,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vantage/entity.py",
     "line": 200,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "MiguelTVMS/e-redes-smart-metering-plus-hass",
   "domain": "e_redes_smart_metering_plus",
   "domains": [
    "e_redes_smart_metering_plus"
   ],
   "version": "v1.4.0",
   "ref": "refs/tags/v1.4.0",
   "stargazers_count": 18,
   "repo_url": "https://github.com/MiguelTVMS/e-redes-smart-metering-plus-hass",
   "scanned_utc": "2026-08-08T05:08:41Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/e_redes_smart_metering_plus/webhook.py",
     "line": 132,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "YossiKon/geely-connect",
   "domain": "geely_connect",
   "domains": [
    "geely_connect"
   ],
   "version": "v1.29.0",
   "ref": "refs/tags/v1.29.0",
   "stargazers_count": 18,
   "repo_url": "https://github.com/YossiKon/geely-connect",
   "scanned_utc": "2026-08-08T05:14:22Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/geely_connect/__init__.py",
     "line": 227,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "adamoutler/anycubic-homeassistant",
   "domain": "anycubic_wifi",
   "domains": [
    "anycubic_wifi"
   ],
   "version": "V15",
   "ref": "refs/tags/V15",
   "stargazers_count": 17,
   "repo_url": "https://github.com/adamoutler/anycubic-homeassistant",
   "scanned_utc": "2026-08-08T05:14:55Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/anycubic_wifi/__init__.py",
     "line": 129,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "cedricziel/ha-sunlit",
   "domain": "sunlit",
   "domains": [
    "sunlit"
   ],
   "version": "v1.12.1",
   "ref": "refs/tags/v1.12.1",
   "stargazers_count": 17,
   "repo_url": "https://github.com/cedricziel/ha-sunlit",
   "scanned_utc": "2026-08-08T05:20:24Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sunlit/entities/battery_module_sensor.py",
     "line": 141,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sunlit/entities/device_binary_sensor.py",
     "line": 136,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sunlit/entities/device_sensor.py",
     "line": 119,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sunlit/entities/device_switch.py",
     "line": 86,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "duhow/hass-cover-time-based",
   "domain": "cover_time_based",
   "domains": [
    "cover_time_based"
   ],
   "version": "0.4.0",
   "ref": "refs/tags/0.4.0",
   "stargazers_count": 17,
   "repo_url": "https://github.com/duhow/hass-cover-time-based",
   "scanned_utc": "2026-08-09T03:53:05Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "core-call-async-remove-helper-config-entry-from-source-device",
     "breaks_in": "2027.8",
     "file": "custom_components/cover_time_based/__init__.py",
     "line": 90,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "flashg1/SolarCharger",
   "domain": "solarcharger",
   "domains": [
    "solarcharger"
   ],
   "version": "v0.10.1",
   "ref": "refs/tags/v0.10.1",
   "stargazers_count": 17,
   "repo_url": "https://github.com/flashg1/SolarCharger",
   "scanned_utc": "2026-08-09T03:53:55Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solarcharger/modules/coordinator.py",
     "line": 115,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solarcharger/state_machine/solar_charge.py",
     "line": 160,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "lizardsystems/hass-mygas",
   "domain": "mygas",
   "domains": [
    "mygas"
   ],
   "version": "v2.1.4",
   "ref": "refs/tags/v2.1.4",
   "stargazers_count": 17,
   "repo_url": "https://github.com/lizardsystems/hass-mygas",
   "scanned_utc": "2026-08-10T04:00:17Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mygas/entity.py",
     "line": 139,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mygas/entity.py",
     "line": 219,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "nkvoll/home-assistant-qsys-qrc",
   "domain": "qsys_qrc",
   "domains": [
    "qsys_qrc"
   ],
   "version": "v0.7.0",
   "ref": "refs/tags/v0.7.0",
   "stargazers_count": 17,
   "repo_url": "https://github.com/nkvoll/home-assistant-qsys-qrc",
   "scanned_utc": "2026-08-11T03:56:24Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/qsys_qrc/common.py",
     "line": 49,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "tomer-w/ha-nmea2000",
   "domain": "nmea2000",
   "domains": [
    "nmea2000"
   ],
   "version": "v2026.5.0",
   "ref": "refs/tags/v2026.5.0",
   "stargazers_count": 17,
   "repo_url": "https://github.com/tomer-w/ha-nmea2000",
   "scanned_utc": "2026-08-13T04:24:37Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/nmea2000/NMEA2000Sensor.py",
     "line": 59,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "faizpuru/ha-pilot-wire-climate",
   "domain": "pilot_wire_climate",
   "domains": [
    "pilot_wire_climate"
   ],
   "version": "1.0.7",
   "ref": "refs/tags/1.0.7",
   "stargazers_count": 16,
   "repo_url": "https://github.com/faizpuru/ha-pilot-wire-climate",
   "scanned_utc": "2026-08-09T03:53:43Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "core-call-async-remove-stale-devices-links-keep-entity-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pilot_wire_climate/__init__.py",
     "line": 18,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "geappliances/geappliances-smarthq-integration",
   "domain": "smarthq",
   "domains": [
    "smarthq"
   ],
   "version": "v1.2.4",
   "ref": "refs/tags/v1.2.4",
   "stargazers_count": 16,
   "repo_url": "https://github.com/geappliances/geappliances-smarthq-integration",
   "scanned_utc": "2026-08-09T03:54:26Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/smarthq/llm_api.py",
     "line": 137,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/smarthq/llm_api.py",
     "line": 447,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "geertmeersman/nexxtmove",
   "domain": "nexxtmove",
   "domains": [
    "nexxtmove"
   ],
   "version": "v1.1.1",
   "ref": "refs/tags/v1.1.1",
   "stargazers_count": 16,
   "repo_url": "https://github.com/geertmeersman/nexxtmove",
   "scanned_utc": "2026-08-09T03:54:30Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/nexxtmove/__init__.py",
     "line": 134,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "sprocket-9/hacs-nuvo-serial",
   "domain": "nuvo_serial",
   "domains": [
    "nuvo_serial"
   ],
   "version": "v2.2.0",
   "ref": "refs/tags/v2.2.0",
   "stargazers_count": 16,
   "repo_url": "https://github.com/sprocket-9/hacs-nuvo-serial",
   "scanned_utc": "2026-08-12T04:01:12Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/nuvo_serial/media_player.py",
     "line": 196,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/nuvo_serial/number.py",
     "line": 196,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "wbyoung/lampie",
   "domain": "lampie",
   "domains": [
    "lampie"
   ],
   "version": "v0.3.0",
   "ref": "refs/tags/v0.3.0",
   "stargazers_count": 16,
   "repo_url": "https://github.com/wbyoung/lampie",
   "scanned_utc": "2026-08-13T04:25:38Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "core-call-async-device-info-to-link-from-entity",
     "breaks_in": "2027.8",
     "file": "custom_components/lampie/__init__.py",
     "line": 94,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/lampie/__init__.py",
     "line": 114,
     "confidence": "high"
    },
    {
     "rule_id": "core-call-async-device-info-to-link-from-entity",
     "breaks_in": "2027.8",
     "file": "custom_components/lampie/orchestrator.py",
     "line": 895,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-device-info-to-link-from-entity",
     "breaks_in": "2027.8",
     "file": "custom_components/lampie/sensor.py",
     "line": 161,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_device_info_to_link_from_entity"
   }
  },
  {
   "full_name": "astrandb/weatherlink",
   "domain": "weatherlink",
   "domains": [
    "weatherlink"
   ],
   "version": "v2026.7.0",
   "ref": "refs/tags/v2026.7.0",
   "stargazers_count": 15,
   "repo_url": "https://github.com/astrandb/weatherlink",
   "scanned_utc": "2026-08-08T05:17:16Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/weatherlink/entity.py",
     "line": 58,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "craibo/ha-red-energy-au",
   "domain": "red_energy",
   "domains": [
    "red_energy"
   ],
   "version": "1.17.1",
   "ref": "refs/tags/1.17.1",
   "stargazers_count": 15,
   "repo_url": "https://github.com/craibo/ha-red-energy-au",
   "scanned_utc": "2026-08-08T05:21:26Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/red_energy/config_migration.py",
     "line": 264,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/red_energy/config_migration.py",
     "line": 444,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/red_energy/device_manager.py",
     "line": 275,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "hexCut/irsap-ha",
   "domain": "irsap_ha",
   "domains": [
    "irsap_ha"
   ],
   "version": "v1.5",
   "ref": "refs/tags/v1.5",
   "stargazers_count": 15,
   "repo_url": "https://github.com/hexCut/irsap-ha",
   "scanned_utc": "2026-08-09T03:55:40Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/irsap_ha/__init__.py",
     "line": 48,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "mretallack/ukfuelfinder-ha",
   "domain": "ukfuelfinder",
   "domains": [
    "ukfuelfinder"
   ],
   "version": "v1.6.0",
   "ref": "refs/tags/v1.6.0",
   "stargazers_count": 15,
   "repo_url": "https://github.com/mretallack/ukfuelfinder-ha",
   "scanned_utc": "2026-08-11T03:55:29Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ukfuelfinder/coordinator.py",
     "line": 214,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/ukfuelfinder/coordinator.py",
     "line": 218,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "MTrab/webastoconnect",
   "domain": "webastoconnect",
   "domains": [
    "webastoconnect"
   ],
   "version": "v1.2.0",
   "ref": "refs/tags/v1.2.0",
   "stargazers_count": 15,
   "repo_url": "https://github.com/MTrab/webastoconnect",
   "scanned_utc": "2026-08-08T05:08:07Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/webastoconnect/__init__.py",
     "line": 135,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "sebr/inception-home-assistant",
   "domain": "inception",
   "domains": [
    "inception"
   ],
   "version": "5.3.0",
   "ref": "refs/tags/5.3.0",
   "stargazers_count": 15,
   "repo_url": "https://github.com/sebr/inception-home-assistant",
   "scanned_utc": "2026-08-12T04:00:14Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/inception/binary_sensor.py",
     "line": 316,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/inception/binary_sensor.py",
     "line": 342,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/inception/lock.py",
     "line": 112,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/inception/lock.py",
     "line": 125,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/inception/switch.py",
     "line": 199,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "steamEngineer/bravia-quad-homeassistant",
   "domain": "bravia_quad",
   "domains": [
    "bravia_quad"
   ],
   "version": "v2.2.1",
   "ref": "refs/tags/v2.2.1",
   "stargazers_count": 15,
   "repo_url": "https://github.com/steamEngineer/bravia-quad-homeassistant",
   "scanned_utc": "2026-08-12T04:01:18Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bravia_quad/helpers.py",
     "line": 216,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bravia_quad/helpers.py",
     "line": 221,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bravia_quad/helpers.py",
     "line": 355,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bravia_quad/update.py",
     "line": 241,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "willbeeching/ha-unifiplay",
   "domain": "unifi_play",
   "domains": [
    "unifi_play"
   ],
   "version": "v1.3.0",
   "ref": "refs/tags/v1.3.0",
   "stargazers_count": 15,
   "repo_url": "https://github.com/willbeeching/ha-unifiplay",
   "scanned_utc": "2026-08-13T04:25:46Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_play/media_player.py",
     "line": 105,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "jobvk/Home-Assistant-Windcentrale",
   "domain": "windcentrale",
   "domains": [
    "windcentrale"
   ],
   "version": "2026.8.2",
   "ref": "refs/tags/2026.8.2",
   "stargazers_count": 14,
   "repo_url": "https://github.com/jobvk/Home-Assistant-Windcentrale",
   "scanned_utc": "2026-08-10T03:58:11Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/windcentrale/wind.py",
     "line": 84,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "JohNan/homeassistant-homevolt-local",
   "domain": "homevolt_local",
   "domains": [
    "homevolt_local"
   ],
   "version": "v1.2.4",
   "ref": "refs/tags/v1.2.4",
   "stargazers_count": 14,
   "repo_url": "https://github.com/JohNan/homeassistant-homevolt-local",
   "scanned_utc": "2026-08-08T05:06:41Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homevolt_local/entity.py",
     "line": 96,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homevolt_local/entity.py",
     "line": 118,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homevolt_local/entity.py",
     "line": 149,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homevolt_local/entity.py",
     "line": 167,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homevolt_local/entity.py",
     "line": 204,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homevolt_local/entity.py",
     "line": 213,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homevolt_local/entity.py",
     "line": 228,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "johnvoipguy/Traeger-WiFire",
   "domain": "traeger",
   "domains": [
    "traeger"
   ],
   "version": "v1.0.3c",
   "ref": "refs/tags/v1.0.3c",
   "stargazers_count": 14,
   "repo_url": "https://github.com/johnvoipguy/Traeger-WiFire",
   "scanned_utc": "2026-08-10T03:58:20Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/traeger/entity.py",
     "line": 92,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "kramttocs/ha-blueiris",
   "domain": "blueiris",
   "domains": [
    "blueiris"
   ],
   "version": "2026.7.29",
   "ref": "refs/tags/2026.7.29",
   "stargazers_count": 14,
   "repo_url": "https://github.com/kramttocs/ha-blueiris",
   "scanned_utc": "2026-08-10T03:59:50Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/blueiris/helpers/device.py",
     "line": 49,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "mguyard/hass-diagral",
   "domain": "diagral",
   "domains": [
    "diagral"
   ],
   "version": "v1.3.3",
   "ref": "refs/tags/v1.3.3",
   "stargazers_count": 14,
   "repo_url": "https://github.com/mguyard/hass-diagral",
   "scanned_utc": "2026-08-11T03:54:43Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/diagral/coordinator.py",
     "line": 87,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Shaffer-Softworks/Android-Management",
   "domain": "android_management_api",
   "domains": [
    "android_management_api"
   ],
   "version": "v1.0.0",
   "ref": "refs/tags/v1.0.0",
   "stargazers_count": 14,
   "repo_url": "https://github.com/Shaffer-Softworks/Android-Management",
   "scanned_utc": "2026-08-08T05:12:11Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/android_management_api/sensor.py",
     "line": 488,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/android_management_api/sensor.py",
     "line": 514,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "thokaro/solarwatt-manager-homeassistant",
   "domain": "solarwatt_manager",
   "domains": [
    "solarwatt_manager"
   ],
   "version": "2026.8.0",
   "ref": "refs/tags/2026.8.0",
   "stargazers_count": 14,
   "repo_url": "https://github.com/thokaro/solarwatt-manager-homeassistant",
   "scanned_utc": "2026-08-12T04:02:02Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/const.py",
     "line": 177,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/const.py",
     "line": 268,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/const.py",
     "line": 272,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/diagnostics.py",
     "line": 179,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/entity_helpers.py",
     "line": 329,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/entity_helpers.py",
     "line": 336,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/entity_helpers.py",
     "line": 350,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/entity_helpers.py",
     "line": 358,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/entity_helpers.py",
     "line": 363,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/registry_cleanup.py",
     "line": 80,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/registry_cleanup.py",
     "line": 91,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/registry_migrations.py",
     "line": 125,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/registry_migrations.py",
     "line": 129,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/registry_migrations.py",
     "line": 132,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/solarwatt_manager/registry_migrations.py",
     "line": 143,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "tuya/tuya_cloud_ha_bridge",
   "domain": "tuya_cloud_ha_bridge",
   "domains": [
    "tuya_cloud_ha_bridge"
   ],
   "version": "v1.1.1",
   "ref": "refs/tags/v1.1.1",
   "stargazers_count": 14,
   "repo_url": "https://github.com/tuya/tuya_cloud_ha_bridge",
   "scanned_utc": "2026-08-13T04:24:55Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/tuya_cloud_ha_bridge/__init__.py",
     "line": 1072,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/tuya_cloud_ha_bridge/__init__.py",
     "line": 1218,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/tuya_cloud_ha_bridge/__init__.py",
     "line": 1316,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/tuya_cloud_ha_bridge/__init__.py",
     "line": 1791,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/tuya_cloud_ha_bridge/__init__.py",
     "line": 1937,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/tuya_cloud_ha_bridge/__init__.py",
     "line": 1992,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/tuya_cloud_ha_bridge/__init__.py",
     "line": 2100,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/tuya_cloud_ha_bridge/registry_sync.py",
     "line": 106,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/tuya_cloud_ha_bridge/registry_sync.py",
     "line": 182,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/tuya_cloud_ha_bridge/registry_sync.py",
     "line": 221,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_update_device"
   }
  },
  {
   "full_name": "andersevenrud/ha-nexa-bridge-x",
   "domain": "nexa_bridge_x",
   "domains": [
    "nexa_bridge_x"
   ],
   "version": "v1.9.2",
   "ref": "refs/tags/v1.9.2",
   "stargazers_count": 13,
   "repo_url": "https://github.com/andersevenrud/ha-nexa-bridge-x",
   "scanned_utc": "2026-08-08T05:16:19Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/nexa_bridge_x/entities.py",
     "line": 70,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "cvele/playnite_web_mqtt",
   "domain": "playnite_web_mqtt",
   "domains": [
    "playnite_web_mqtt"
   ],
   "version": "v0.0.12",
   "ref": "refs/tags/v0.0.12",
   "stargazers_count": 13,
   "repo_url": "https://github.com/cvele/playnite_web_mqtt",
   "scanned_utc": "2026-08-08T05:22:03Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/playnite_web_mqtt/switch.py",
     "line": 161,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ludodefgh/montreal-snow-removal",
   "domain": "montreal_snow_removal",
   "domains": [
    "montreal_snow_removal"
   ],
   "version": "v2.3.4",
   "ref": "refs/tags/v2.3.4",
   "stargazers_count": 13,
   "repo_url": "https://github.com/ludodefgh/montreal-snow-removal",
   "scanned_utc": "2026-08-10T04:00:30Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/montreal_snow_removal/config_flow.py",
     "line": 874,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/montreal_snow_removal/config_flow.py",
     "line": 1104,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "maybetaken/Solar_Manager",
   "domain": "solar_manager",
   "domains": [
    "solar_manager"
   ],
   "version": "v0.2.0",
   "ref": "refs/tags/v0.2.0",
   "stargazers_count": 13,
   "repo_url": "https://github.com/maybetaken/Solar_Manager",
   "scanned_utc": "2026-08-11T03:54:31Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/solar_manager/plugins/base_device.py",
     "line": 198,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Muxee4ka/ucams_home_assistant",
   "domain": "ucams",
   "domains": [
    "ucams"
   ],
   "version": "v0.5.0",
   "ref": "refs/tags/v0.5.0",
   "stargazers_count": 13,
   "repo_url": "https://github.com/Muxee4ka/ucams_home_assistant",
   "scanned_utc": "2026-08-08T05:09:02Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ucams/__init__.py",
     "line": 107,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "mwolter805/meshcore-ha-chat",
   "domain": "meshcore_chat",
   "domains": [
    "meshcore_chat"
   ],
   "version": "v0.3.1",
   "ref": "refs/tags/v0.3.1",
   "stargazers_count": 13,
   "repo_url": "https://github.com/mwolter805/meshcore-ha-chat",
   "scanned_utc": "2026-08-11T03:55:43Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/meshcore_chat/ws_api.py",
     "line": 873,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Veldkornet/ha-hyxi-cloud",
   "domain": "hyxi_cloud",
   "domains": [
    "hyxi_cloud"
   ],
   "version": "v1.6.5",
   "ref": "refs/tags/v1.6.5",
   "stargazers_count": 13,
   "repo_url": "https://github.com/Veldkornet/ha-hyxi-cloud",
   "scanned_utc": "2026-08-08T05:13:43Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hyxi_cloud/__init__.py",
     "line": 183,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hyxi_cloud/__init__.py",
     "line": 190,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hyxi_cloud/__init__.py",
     "line": 203,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hyxi_cloud/__init__.py",
     "line": 234,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hyxi_cloud/binary_sensor.py",
     "line": 54,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hyxi_cloud/coordinator.py",
     "line": 322,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hyxi_cloud/sensor.py",
     "line": 1109,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "brewmarsh/meraki-homeassistant",
   "domain": "meraki_ha",
   "domains": [
    "meraki_ha"
   ],
   "version": "v2.5.2",
   "ref": "refs/tags/v2.5.2",
   "stargazers_count": 12,
   "repo_url": "https://github.com/brewmarsh/meraki-homeassistant",
   "scanned_utc": "2026-08-08T05:19:19Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/meraki_ha/core/coordinator_helpers/update_processor.py",
     "line": 95,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/meraki_ha/core/entities/meraki_firewall_rule_entity.py",
     "line": 48,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/meraki_ha/discovery/providers/uplink.py",
     "line": 47,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/meraki_ha/helpers/device_info_helpers.py",
     "line": 46,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "irstmon/homeassistant-duofern",
   "domain": "duofern",
   "domains": [
    "duofern"
   ],
   "version": "v2.3.4",
   "ref": "refs/tags/v2.3.4",
   "stargazers_count": 12,
   "repo_url": "https://github.com/irstmon/homeassistant-duofern",
   "scanned_utc": "2026-08-10T03:57:26Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/binary_sensor.py",
     "line": 434,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/binary_sensor.py",
     "line": 450,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/binary_sensor.py",
     "line": 589,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/binary_sensor.py",
     "line": 605,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/binary_sensor.py",
     "line": 698,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/binary_sensor.py",
     "line": 714,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/binary_sensor.py",
     "line": 803,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/climate.py",
     "line": 296,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/climate.py",
     "line": 311,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/cover.py",
     "line": 345,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/cover.py",
     "line": 361,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/event.py",
     "line": 116,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/event.py",
     "line": 134,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/light.py",
     "line": 185,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/light.py",
     "line": 200,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/sensor.py",
     "line": 408,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/sensor.py",
     "line": 424,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/sensor.py",
     "line": 492,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/sensor.py",
     "line": 617,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/sensor.py",
     "line": 807,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/switch.py",
     "line": 792,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/switch.py",
     "line": 810,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duofern/switch.py",
     "line": 966,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "KipK/vtherm_smartpi",
   "domain": "vtherm_smartpi",
   "domains": [
    "vtherm_smartpi"
   ],
   "version": "0.3.6",
   "ref": "refs/tags/0.3.6",
   "stargazers_count": 12,
   "repo_url": "https://github.com/KipK/vtherm_smartpi",
   "scanned_utc": "2026-08-08T05:07:15Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/vtherm_smartpi/smartpi/device_link.py",
     "line": 92,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/vtherm_smartpi/smartpi/device_link.py",
     "line": 110,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "roquerodrigo/ha-ttlock-ble",
   "domain": "ttlock_ble",
   "domains": [
    "ttlock_ble"
   ],
   "version": "v3.5.0",
   "ref": "refs/tags/v3.5.0",
   "stargazers_count": 12,
   "repo_url": "https://github.com/roquerodrigo/ha-ttlock-ble",
   "scanned_utc": "2026-08-12T03:59:25Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/ttlock_ble/__init__.py",
     "line": 82,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "superbox-dev/keba_keenergy",
   "domain": "keba_keenergy",
   "domains": [
    "keba_keenergy"
   ],
   "version": "v1.10.3",
   "ref": "refs/tags/v1.10.3",
   "stargazers_count": 12,
   "repo_url": "https://github.com/superbox-dev/keba_keenergy",
   "scanned_utc": "2026-08-12T04:01:31Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/keba_keenergy/entity.py",
     "line": 238,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "tjbaker/homeassistant-fansync",
   "domain": "fansync",
   "domains": [
    "fansync"
   ],
   "version": "0.8.1",
   "ref": "refs/tags/0.8.1",
   "stargazers_count": 12,
   "repo_url": "https://github.com/tjbaker/homeassistant-fansync",
   "scanned_utc": "2026-08-12T04:02:21Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fansync/coordinator.py",
     "line": 118,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ABovsh/eveus",
   "domain": "eveus",
   "domains": [
    "eveus"
   ],
   "version": "v4.19.0",
   "ref": "refs/tags/v4.19.0",
   "stargazers_count": 11,
   "repo_url": "https://github.com/ABovsh/eveus",
   "scanned_utc": "2026-08-13T04:26:56Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eveus/common_base.py",
     "line": 296,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "CompitHomeAssistant/HomeAssistant",
   "domain": "compit",
   "domains": [
    "compit"
   ],
   "version": "2.0.0",
   "ref": "refs/tags/2.0.0",
   "stargazers_count": 11,
   "repo_url": "https://github.com/CompitHomeAssistant/HomeAssistant",
   "scanned_utc": "2026-08-13T04:28:32Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/compit/device.py",
     "line": 41,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_update_device"
   }
  },
  {
   "full_name": "CooLajz/ha-zivy-obraz",
   "domain": "zivy_obraz",
   "domains": [
    "zivy_obraz"
   ],
   "version": "v1.0.11",
   "ref": "refs/tags/v1.0.11",
   "stargazers_count": 11,
   "repo_url": "https://github.com/CooLajz/ha-zivy-obraz",
   "scanned_utc": "2026-08-13T04:28:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/zivy_obraz/__init__.py",
     "line": 193,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/zivy_obraz/coordinator.py",
     "line": 217,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/zivy_obraz/coordinator.py",
     "line": 237,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/zivy_obraz/coordinator.py",
     "line": 260,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "ifMike/homeyHASS",
   "domain": "homey_hass",
   "domains": [
    "homey_hass"
   ],
   "version": "v2.0.1",
   "ref": "refs/tags/v2.0.1",
   "stargazers_count": 11,
   "repo_url": "https://github.com/ifMike/homeyHASS",
   "scanned_utc": "2026-08-10T03:57:12Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homey_hass/__init__.py",
     "line": 768,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homey_hass/__init__.py",
     "line": 880,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homey_hass/__init__.py",
     "line": 914,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homey_hass/coordinator.py",
     "line": 514,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homey_hass/coordinator.py",
     "line": 553,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homey_hass/coordinator.py",
     "line": 649,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "J-shw/ha-mycloud",
   "domain": "mycloud",
   "domains": [
    "mycloud"
   ],
   "version": "v1.2.5",
   "ref": "refs/tags/v1.2.5",
   "stargazers_count": 11,
   "repo_url": "https://github.com/J-shw/ha-mycloud",
   "scanned_utc": "2026-08-08T05:06:16Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mycloud/sensor.py",
     "line": 102,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mycloud/sensor.py",
     "line": 126,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "jirutka/hass-smarwi",
   "domain": "smarwi",
   "domains": [
    "smarwi"
   ],
   "version": "v0.3.5",
   "ref": "refs/tags/v0.3.5",
   "stargazers_count": 11,
   "repo_url": "https://github.com/jirutka/hass-smarwi",
   "scanned_utc": "2026-08-10T03:58:02Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/smarwi/device.py",
     "line": 329,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ksanislo/senso4s_ble",
   "domain": "senso4s",
   "domains": [
    "senso4s"
   ],
   "version": "v1.5.0",
   "ref": "refs/tags/v1.5.0",
   "stargazers_count": 11,
   "repo_url": "https://github.com/ksanislo/senso4s_ble",
   "scanned_utc": "2026-08-10T04:00:02Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/senso4s/coordinator.py",
     "line": 194,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "meltingice1337/tedee_ble",
   "domain": "tedee_ble",
   "domains": [
    "tedee_ble"
   ],
   "version": "v0.1.15",
   "ref": "refs/tags/v0.1.15",
   "stargazers_count": 11,
   "repo_url": "https://github.com/meltingice1337/tedee_ble",
   "scanned_utc": "2026-08-11T03:54:38Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tedee_ble/coordinator.py",
     "line": 868,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Monitor-My-Solar/monitormysolar",
   "domain": "monitormysolar",
   "domains": [
    "monitormysolar"
   ],
   "version": "4.0.1P",
   "ref": "refs/tags/4.0.1P",
   "stargazers_count": 11,
   "repo_url": "https://github.com/Monitor-My-Solar/monitormysolar",
   "scanned_utc": "2026-08-08T05:08:47Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/monitormysolar/migration.py",
     "line": 290,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "schmidtfx/swisscom-internetbox-hass",
   "domain": "swisscom_internetbox",
   "domains": [
    "swisscom_internetbox"
   ],
   "version": "0.4.2",
   "ref": "refs/tags/0.4.2",
   "stargazers_count": 11,
   "repo_url": "https://github.com/schmidtfx/swisscom-internetbox-hass",
   "scanned_utc": "2026-08-12T04:00:09Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/swisscom_internetbox/entity.py",
     "line": 26,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "alryaz/hass-mosoblgaz",
   "domain": "mosoblgaz",
   "domains": [
    "mosoblgaz"
   ],
   "version": "v2025.6.5",
   "ref": "refs/tags/v2025.6.5",
   "stargazers_count": 10,
   "repo_url": "https://github.com/alryaz/hass-mosoblgaz",
   "scanned_utc": "2026-08-08T05:15:54Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mosoblgaz/sensor.py",
     "line": 220,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "BJReplay/EPA_AirQuality_HA",
   "domain": "epa_victoria_air_quality",
   "domains": [
    "epa_victoria_air_quality"
   ],
   "version": "v0.5.3",
   "ref": "refs/tags/v0.5.3",
   "stargazers_count": 10,
   "repo_url": "https://github.com/BJReplay/EPA_AirQuality_HA",
   "scanned_utc": "2026-08-13T04:27:33Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/epa_victoria_air_quality/coordinator.py",
     "line": 97,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_update_device"
   }
  },
  {
   "full_name": "bvweerd/dynamic_energy_contract_calculator",
   "domain": "dynamic_energy_contract_calculator",
   "domains": [
    "dynamic_energy_contract_calculator"
   ],
   "version": "v1.3.8",
   "ref": "refs/tags/v1.3.8",
   "stargazers_count": 10,
   "repo_url": "https://github.com/bvweerd/dynamic_energy_contract_calculator",
   "scanned_utc": "2026-08-08T05:19:46Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/dynamic_energy_contract_calculator/__init__.py",
     "line": 141,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/dynamic_energy_contract_calculator/__init__.py",
     "line": 146,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dynamic_energy_contract_calculator/sensor.py",
     "line": 1454,
     "confidence": "medium"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/dynamic_energy_contract_calculator/sensor.py",
     "line": 1456,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/dynamic_energy_contract_calculator/sensor.py",
     "line": 1460,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/dynamic_energy_contract_calculator/sensor.py",
     "line": 1465,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "CircuitSetup/CircuitSetup-Energy-Analyzer",
   "domain": "circuitsetup_energy_analyzer",
   "domains": [
    "circuitsetup_energy_analyzer"
   ],
   "version": "v0.13.16",
   "ref": "refs/tags/v0.13.16",
   "stargazers_count": 10,
   "repo_url": "https://github.com/CircuitSetup/CircuitSetup-Energy-Analyzer",
   "scanned_utc": "2026-08-13T04:28:14Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/circuitsetup_energy_analyzer/managers/nilm_controller.py",
     "line": 2660,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/circuitsetup_energy_analyzer/nilm_virtual.py",
     "line": 180,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "dewet22/givenergy-hass",
   "domain": "givenergy_local",
   "domains": [
    "givenergy_local"
   ],
   "version": "v1.4.10",
   "ref": "refs/tags/v1.4.10",
   "stargazers_count": 10,
   "repo_url": "https://github.com/dewet22/givenergy-hass",
   "scanned_utc": "2026-08-09T03:52:32Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/givenergy_local/__init__.py",
     "line": 224,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/givenergy_local/sensor.py",
     "line": 3061,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/givenergy_local/sensor.py",
     "line": 3131,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/givenergy_local/sensor.py",
     "line": 3208,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/givenergy_local/sensor.py",
     "line": 3278,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/givenergy_local/sensor.py",
     "line": 3346,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Domintell/ha_domintell",
   "domain": "domintell",
   "domains": [
    "domintell"
   ],
   "version": "v0.5.1",
   "ref": "refs/tags/v0.5.1",
   "stargazers_count": 10,
   "repo_url": "https://github.com/Domintell/ha_domintell",
   "scanned_utc": "2026-08-08T05:03:48Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/domintell/device.py",
     "line": 68,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/domintell/dom_event.py",
     "line": 47,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/domintell/dom_event.py",
     "line": 92,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/domintell/dom_event.py",
     "line": 143,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/domintell/dom_event.py",
     "line": 191,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "GimpArm/schellenberg_usb",
   "domain": "schellenberg_usb",
   "domains": [
    "schellenberg_usb"
   ],
   "version": "v1.0.2",
   "ref": "refs/tags/v1.0.2",
   "stargazers_count": 10,
   "repo_url": "https://github.com/GimpArm/schellenberg_usb",
   "scanned_utc": "2026-08-08T05:05:22Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/schellenberg_usb/__init__.py",
     "line": 226,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/schellenberg_usb/__init__.py",
     "line": 249,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "hoizi89/pv_management",
   "domain": "pv_management",
   "domains": [
    "pv_management"
   ],
   "version": "v4.4.1",
   "ref": "refs/tags/v4.4.1",
   "stargazers_count": 10,
   "repo_url": "https://github.com/hoizi89/pv_management",
   "scanned_utc": "2026-08-10T03:56:56Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management/binary_sensor.py",
     "line": 27,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management/binary_sensor.py",
     "line": 38,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management/sensor.py",
     "line": 41,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management/sensor.py",
     "line": 49,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management/sensor.py",
     "line": 57,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management/sensor.py",
     "line": 65,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management/sensor.py",
     "line": 73,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management/switch.py",
     "line": 21,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "qnimbus/haefele-connect-mesh",
   "domain": "haefele_connect_mesh",
   "domains": [
    "haefele_connect_mesh"
   ],
   "version": "v2.0.3",
   "ref": "refs/tags/v2.0.3",
   "stargazers_count": 10,
   "repo_url": "https://github.com/qnimbus/haefele-connect-mesh",
   "scanned_utc": "2026-08-12T03:58:32Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/haefele_connect_mesh/__init__.py",
     "line": 615,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/haefele_connect_mesh/binary_sensor.py",
     "line": 80,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/haefele_connect_mesh/coordinator.py",
     "line": 106,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/haefele_connect_mesh/light.py",
     "line": 148,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/haefele_connect_mesh/sensor.py",
     "line": 84,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/haefele_connect_mesh/switch.py",
     "line": 100,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "sunology-tech/sunology-ha",
   "domain": "sunology",
   "domains": [
    "sunology"
   ],
   "version": "1.3.1",
   "ref": "refs/tags/1.3.1",
   "stargazers_count": 10,
   "repo_url": "https://github.com/sunology-tech/sunology-ha",
   "scanned_utc": "2026-08-12T04:01:30Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sunology/device.py",
     "line": 96,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "teh-hippo/ha-govee-led-ble",
   "domain": "ha_govee_led_ble",
   "domains": [
    "ha_govee_led_ble"
   ],
   "version": "v6.4.1",
   "ref": "refs/tags/v6.4.1",
   "stargazers_count": 10,
   "repo_url": "https://github.com/teh-hippo/ha-govee-led-ble",
   "scanned_utc": "2026-08-12T04:01:49Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_govee_led_ble/coordinator.py",
     "line": 320,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "brott8/ha-crowdsec",
   "domain": "crowdsec",
   "domains": [
    "crowdsec"
   ],
   "version": "0.1.5",
   "ref": "refs/tags/0.1.5",
   "stargazers_count": 9,
   "repo_url": "https://github.com/brott8/ha-crowdsec",
   "scanned_utc": "2026-08-08T05:19:28Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/crowdsec/sensor.py",
     "line": 59,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "danielpetrovic/ha-ducobox",
   "domain": "ducobox",
   "domains": [
    "ducobox"
   ],
   "version": "v1.1.0",
   "ref": "refs/tags/v1.1.0",
   "stargazers_count": 9,
   "repo_url": "https://github.com/danielpetrovic/ha-ducobox",
   "scanned_utc": "2026-08-09T03:52:07Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ducobox/fan.py",
     "line": 182,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ducobox/number.py",
     "line": 490,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ducobox/number.py",
     "line": 595,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ducobox/sensor.py",
     "line": 446,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ducobox/switch.py",
     "line": 154,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Jarauvi/beny_wifi",
   "domain": "beny_wifi",
   "domains": [
    "beny_wifi"
   ],
   "version": "1.2.1",
   "ref": "refs/tags/1.2.1",
   "stargazers_count": 9,
   "repo_url": "https://github.com/Jarauvi/beny_wifi",
   "scanned_utc": "2026-08-08T05:06:22Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/beny_wifi/const.py",
     "line": 572,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "maginawin/ha-dali-center",
   "domain": "dali_center",
   "domains": [
    "dali_center"
   ],
   "version": "v0.14.0",
   "ref": "refs/tags/v0.14.0",
   "stargazers_count": 9,
   "repo_url": "https://github.com/maginawin/ha-dali-center",
   "scanned_utc": "2026-08-11T03:53:21Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dali_center/button.py",
     "line": 121,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dali_center/event.py",
     "line": 106,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dali_center/light.py",
     "line": 194,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dali_center/sensor.py",
     "line": 136,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dali_center/sensor.py",
     "line": 184,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dali_center/services.py",
     "line": 165,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dali_center/switch.py",
     "line": 72,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "marsh4200/mhub",
   "domain": "mhub",
   "domains": [
    "mhub"
   ],
   "version": "v0.2.0",
   "ref": "refs/tags/v0.2.0",
   "stargazers_count": 9,
   "repo_url": "https://github.com/marsh4200/mhub",
   "scanned_utc": "2026-08-11T03:54:14Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mhub/button.py",
     "line": 344,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mhub/media_player.py",
     "line": 184,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mhub/sensor.py",
     "line": 154,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "OtisPresley/control4-mediaplayer",
   "domain": "control4_mediaplayer",
   "domains": [
    "control4_mediaplayer"
   ],
   "version": "v2.3.5",
   "ref": "refs/tags/v2.3.5",
   "stargazers_count": 9,
   "repo_url": "https://github.com/OtisPresley/control4-mediaplayer",
   "scanned_utc": "2026-08-08T05:10:14Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/control4_mediaplayer/__init__.py",
     "line": 63,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "rosch100/fritzbox-vpn",
   "domain": "fritzbox_vpn",
   "domains": [
    "fritzbox_vpn"
   ],
   "version": "v1.2.5",
   "ref": "refs/tags/v1.2.5",
   "stargazers_count": 9,
   "repo_url": "https://github.com/rosch100/fritzbox-vpn",
   "scanned_utc": "2026-08-12T03:59:25Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fritzbox_vpn/entity.py",
     "line": 87,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fritzbox_vpn/entity_registry.py",
     "line": 359,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fritzbox_vpn/entity_registry.py",
     "line": 364,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fritzbox_vpn/entity_registry.py",
     "line": 499,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fritzbox_vpn/entity_registry.py",
     "line": 551,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "usersaynoso/ha-cudy-router",
   "domain": "cudy_router",
   "domains": [
    "cudy_router"
   ],
   "version": "v1.3.35",
   "ref": "refs/tags/v1.3.35",
   "stargazers_count": 9,
   "repo_url": "https://github.com/usersaynoso/ha-cudy-router",
   "scanned_utc": "2026-08-13T04:25:08Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/cudy_router/device_info.py",
     "line": 163,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "cubinet-code/ha-parqet-companion",
   "domain": "parqet",
   "domains": [
    "parqet"
   ],
   "version": "v0.4.1",
   "ref": "refs/tags/v0.4.1",
   "stargazers_count": 8,
   "repo_url": "https://github.com/cubinet-code/ha-parqet-companion",
   "scanned_utc": "2026-08-08T05:21:37Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/parqet/migration.py",
     "line": 202,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/parqet/portfolio_sync.py",
     "line": 71,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "emmeoerre/ave_dominaplus",
   "domain": "ave_dominaplus",
   "domains": [
    "ave_dominaplus"
   ],
   "version": "v1.5.4",
   "ref": "refs/tags/v1.5.4",
   "stargazers_count": 8,
   "repo_url": "https://github.com/emmeoerre/ave_dominaplus",
   "scanned_utc": "2026-08-09T03:53:25Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ave_dominaplus/device_info.py",
     "line": 275,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ave_dominaplus/device_info.py",
     "line": 292,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ave_dominaplus/device_info.py",
     "line": 313,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ave_dominaplus/device_info.py",
     "line": 334,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ave_dominaplus/device_info.py",
     "line": 357,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ave_dominaplus/device_info.py",
     "line": 392,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ave_dominaplus/device_info.py",
     "line": 408,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "julcollas/hass-vigicrues",
   "domain": "vigicrues",
   "domains": [
    "vigicrues"
   ],
   "version": "v0.1.0",
   "ref": "refs/tags/v0.1.0",
   "stargazers_count": 8,
   "repo_url": "https://github.com/julcollas/hass-vigicrues",
   "scanned_utc": "2026-08-10T03:58:54Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/vigicrues/__init__.py",
     "line": 69,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "jwlerch78/dashie-ha-integration",
   "domain": "dashie",
   "domains": [
    "dashie"
   ],
   "version": "v1.4.15",
   "ref": "refs/tags/v1.4.15",
   "stargazers_count": 8,
   "repo_url": "https://github.com/jwlerch78/dashie-ha-integration",
   "scanned_utc": "2026-08-10T03:58:55Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dashie/__init__.py",
     "line": 355,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "mrebbert/1komma5-ha",
   "domain": "onekommafive",
   "domains": [
    "onekommafive"
   ],
   "version": "v0.1.52",
   "ref": "refs/tags/v0.1.52",
   "stargazers_count": 8,
   "repo_url": "https://github.com/mrebbert/1komma5-ha",
   "scanned_utc": "2026-08-11T03:55:28Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/onekommafive/entity.py",
     "line": 68,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/onekommafive/entity.py",
     "line": 190,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "PiotrMachowski/Home-Assistant-custom-components-Looko2",
   "domain": "looko2",
   "domains": [
    "looko2"
   ],
   "version": "v2.0.0",
   "ref": "refs/tags/v2.0.0",
   "stargazers_count": 8,
   "repo_url": "https://github.com/PiotrMachowski/Home-Assistant-custom-components-Looko2",
   "scanned_utc": "2026-08-08T05:10:51Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/looko2/__init__.py",
     "line": 64,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "rknightion/autopi-ha",
   "domain": "autopi",
   "domains": [
    "autopi"
   ],
   "version": "v0.10.0",
   "ref": "refs/tags/v0.10.0",
   "stargazers_count": 8,
   "repo_url": "https://github.com/rknightion/autopi-ha",
   "scanned_utc": "2026-08-12T03:59:06Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/autopi/coordinator.py",
     "line": 1318,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ronnnnnnnnnnnnn/multi_user_scale_router",
   "domain": "multi_user_scale_router",
   "domains": [
    "multi_user_scale_router"
   ],
   "version": "v0.2.4",
   "ref": "refs/tags/v0.2.4",
   "stargazers_count": 8,
   "repo_url": "https://github.com/ronnnnnnnnnnnnn/multi_user_scale_router",
   "scanned_utc": "2026-08-12T03:59:21Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/multi_user_scale_router/coordinator.py",
     "line": 403,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/multi_user_scale_router/coordinator.py",
     "line": 1010,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "simplytoast1/ha-ring-smoke-detectors",
   "domain": "ring_smoke_detectors",
   "domains": [
    "ring_smoke_detectors"
   ],
   "version": "v1.1.1",
   "ref": "refs/tags/v1.1.1",
   "stargazers_count": 8,
   "repo_url": "https://github.com/simplytoast1/ha-ring-smoke-detectors",
   "scanned_utc": "2026-08-12T04:00:31Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ring_smoke_detectors/coordinator.py",
     "line": 403,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Timandes/fnos-home-assistant",
   "domain": "fnos",
   "domains": [
    "fnos"
   ],
   "version": "v0.4.1",
   "ref": "refs/tags/v0.4.1",
   "stargazers_count": 8,
   "repo_url": "https://github.com/Timandes/fnos-home-assistant",
   "scanned_utc": "2026-08-08T05:13:21Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fnos/binary_sensor.py",
     "line": 161,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fnos/coordinator.py",
     "line": 76,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fnos/sensor.py",
     "line": 430,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fnos/sensor.py",
     "line": 490,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fnos/sensor.py",
     "line": 576,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "ziogref/TAS-Fuel-HA-Intergration",
   "domain": "tas_fuel_prices",
   "domains": [
    "tas_fuel_prices"
   ],
   "version": "v1.0.4",
   "ref": "refs/tags/v1.0.4",
   "stargazers_count": 8,
   "repo_url": "https://github.com/ziogref/TAS-Fuel-HA-Intergration",
   "scanned_utc": "2026-08-13T04:26:30Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tas_fuel_prices/sensor.py",
     "line": 230,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "absent42/Aqara-LANLink",
   "domain": "aqara_lanlink",
   "domains": [
    "aqara_lanlink"
   ],
   "version": "v0.5.3",
   "ref": "refs/tags/v0.5.3",
   "stargazers_count": 7,
   "repo_url": "https://github.com/absent42/Aqara-LANLink",
   "scanned_utc": "2026-08-08T05:14:41Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aqara_lanlink/__init__.py",
     "line": 179,
     "confidence": "medium"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/aqara_lanlink/__init__.py",
     "line": 1252,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "alexdelprete/ha-abb-fimer-pvi-vsn-rest",
   "domain": "abb_fimer_pvi_vsn_rest",
   "domains": [
    "abb_fimer_pvi_vsn_rest"
   ],
   "version": "v1.5.9",
   "ref": "refs/tags/v1.5.9",
   "stargazers_count": 7,
   "repo_url": "https://github.com/alexdelprete/ha-abb-fimer-pvi-vsn-rest",
   "scanned_utc": "2026-08-08T05:15:35Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/abb_fimer_pvi_vsn_rest/__init__.py",
     "line": 282,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "calebgab/medication_tracker",
   "domain": "medication_tracker",
   "domains": [
    "medication_tracker"
   ],
   "version": "2026.7.14.3",
   "ref": "refs/tags/2026.7.14.3",
   "stargazers_count": 7,
   "repo_url": "https://github.com/calebgab/medication_tracker",
   "scanned_utc": "2026-08-08T05:20:01Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/medication_tracker/coordinator.py",
     "line": 236,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "DefinitelyADev/custom-areas-integration",
   "domain": "custom_areas",
   "domains": [
    "custom_areas"
   ],
   "version": "v1.4.1",
   "ref": "refs/tags/v1.4.1",
   "stargazers_count": 7,
   "repo_url": "https://github.com/DefinitelyADev/custom-areas-integration",
   "scanned_utc": "2026-08-13T04:29:09Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/custom_areas/tests/test_init.py",
     "line": 52,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "ernetas/junghome",
   "domain": "junghome",
   "domains": [
    "junghome"
   ],
   "version": "v1.4.0",
   "ref": "refs/tags/v1.4.0",
   "stargazers_count": 7,
   "repo_url": "https://github.com/ernetas/junghome",
   "scanned_utc": "2026-08-09T03:53:35Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/junghome/__init__.py",
     "line": 172,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "evilmarty/switch_fan",
   "domain": "switch_fan",
   "domains": [
    "switch_fan"
   ],
   "version": "v0.2.1",
   "ref": "refs/tags/v0.2.1",
   "stargazers_count": 7,
   "repo_url": "https://github.com/evilmarty/switch_fan",
   "scanned_utc": "2026-08-09T03:53:38Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "core-call-async-remove-stale-devices-links-keep-current-device",
     "breaks_in": "2027.8",
     "file": "custom_components/switch_fan/__init__.py",
     "line": 21,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-device-info-to-link-from-device-id",
     "breaks_in": "2027.8",
     "file": "custom_components/switch_fan/fan.py",
     "line": 49,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "flame4ever/homeassistant-controme-integration",
   "domain": "controme",
   "domains": [
    "controme"
   ],
   "version": "v1.1.2",
   "ref": "refs/tags/v1.1.2",
   "stargazers_count": 7,
   "repo_url": "https://github.com/flame4ever/homeassistant-controme-integration",
   "scanned_utc": "2026-08-09T03:53:55Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/controme/climate.py",
     "line": 53,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/controme/sensor.py",
     "line": 122,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "geertmeersman/youfone",
   "domain": "youfone",
   "domains": [
    "youfone"
   ],
   "version": "v1.0.0",
   "ref": "refs/tags/v1.0.0",
   "stargazers_count": 7,
   "repo_url": "https://github.com/geertmeersman/youfone",
   "scanned_utc": "2026-08-09T03:54:31Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/youfone/__init__.py",
     "line": 186,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "izipuho/OpenWRT_control",
   "domain": "openwrt_updater",
   "domains": [
    "openwrt_updater"
   ],
   "version": "v2.3.2",
   "ref": "refs/tags/v2.3.2",
   "stargazers_count": 7,
   "repo_url": "https://github.com/izipuho/OpenWRT_control",
   "scanned_utc": "2026-08-10T03:57:41Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/openwrt_updater/options_flow.py",
     "line": 92,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Koky05/ha-budgetbakers-wallet",
   "domain": "budgetbakers_wallet",
   "domains": [
    "budgetbakers_wallet"
   ],
   "version": "v1.1.0",
   "ref": "refs/tags/v1.1.0",
   "stargazers_count": 7,
   "repo_url": "https://github.com/Koky05/ha-budgetbakers-wallet",
   "scanned_utc": "2026-08-08T05:07:21Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/budgetbakers_wallet/sensor.py",
     "line": 125,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "mike-goldfinger/ha-warema-wms",
   "domain": "warema_wms",
   "domains": [
    "warema_wms"
   ],
   "version": "v1.7.0",
   "ref": "refs/tags/v1.7.0",
   "stargazers_count": 7,
   "repo_url": "https://github.com/mike-goldfinger/ha-warema-wms",
   "scanned_utc": "2026-08-11T03:54:57Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/warema_wms/binary_sensor.py",
     "line": 121,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/warema_wms/binary_sensor.py",
     "line": 163,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/warema_wms/button.py",
     "line": 83,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/warema_wms/config_flow.py",
     "line": 1334,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/warema_wms/cover.py",
     "line": 293,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/warema_wms/light.py",
     "line": 135,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/warema_wms/sensor.py",
     "line": 266,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/warema_wms/sensor.py",
     "line": 306,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/warema_wms/sensor.py",
     "line": 355,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/warema_wms/sensor.py",
     "line": 406,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/warema_wms/sensor.py",
     "line": 458,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/warema_wms/sensor.py",
     "line": 516,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Motorline/ha-mconnect",
   "domain": "mconnect",
   "domains": [
    "mconnect"
   ],
   "version": "v26.07.08",
   "ref": "refs/tags/v26.07.08",
   "stargazers_count": 7,
   "repo_url": "https://github.com/Motorline/ha-mconnect",
   "scanned_utc": "2026-08-08T05:08:52Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mconnect/coordinator.py",
     "line": 191,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mconnect/entity.py",
     "line": 120,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "nemiro-TECH/correios_tracker_ha",
   "domain": "correios_tracker",
   "domains": [
    "correios_tracker"
   ],
   "version": "v.0.1.2",
   "ref": "refs/tags/v.0.1.2",
   "stargazers_count": 7,
   "repo_url": "https://github.com/nemiro-TECH/correios_tracker_ha",
   "scanned_utc": "2026-08-11T03:56:06Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/correios_tracker/__init__.py",
     "line": 88,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "PimDoos/onesmartcontrolha",
   "domain": "onesmartcontrol",
   "domains": [
    "onesmartcontrol"
   ],
   "version": "v0.4.7",
   "ref": "refs/tags/v0.4.7",
   "stargazers_count": 7,
   "repo_url": "https://github.com/PimDoos/onesmartcontrolha",
   "scanned_utc": "2026-08-08T05:10:46Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/onesmartcontrol/onesmartentity.py",
     "line": 49,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "rknightion/meraki-dashboard-ha",
   "domain": "meraki_dashboard",
   "domains": [
    "meraki_dashboard"
   ],
   "version": "v0.39.1",
   "ref": "refs/tags/v0.39.1",
   "stargazers_count": 7,
   "repo_url": "https://github.com/rknightion/meraki-dashboard-ha",
   "scanned_utc": "2026-08-12T03:59:07Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/meraki_dashboard/coordinator.py",
     "line": 226,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/meraki_dashboard/services/event_service.py",
     "line": 288,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "sftgunner/edinplus-integration",
   "domain": "edinplus",
   "domains": [
    "edinplus"
   ],
   "version": "v0.8.1",
   "ref": "refs/tags/v0.8.1",
   "stargazers_count": 7,
   "repo_url": "https://github.com/sftgunner/edinplus-integration",
   "scanned_utc": "2026-08-12T04:00:19Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edinplus/__init__.py",
     "line": 82,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edinplus/binary_sensor.py",
     "line": 64,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edinplus/binary_sensor.py",
     "line": 75,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edinplus/button.py",
     "line": 66,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edinplus/light.py",
     "line": 81,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edinplus/light.py",
     "line": 189,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edinplus/select.py",
     "line": 73,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edinplus/select.py",
     "line": 145,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/edinplus/switch.py",
     "line": 66,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "tarikbc/ha-ppa-contatto",
   "domain": "ppa_contatto",
   "domains": [
    "ppa_contatto"
   ],
   "version": "v1.6.0",
   "ref": "refs/tags/v1.6.0",
   "stargazers_count": 7,
   "repo_url": "https://github.com/tarikbc/ha-ppa-contatto",
   "scanned_utc": "2026-08-12T04:01:46Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ppa_contatto/config_entities.py",
     "line": 261,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "adammcdonagh/home-assistant-powervault",
   "domain": "powervault",
   "domains": [
    "powervault"
   ],
   "version": "v2.1.0",
   "ref": "refs/tags/v2.1.0",
   "stargazers_count": 6,
   "repo_url": "https://github.com/adammcdonagh/home-assistant-powervault",
   "scanned_utc": "2026-08-08T05:14:53Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/powervault/entity.py",
     "line": 44,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "alexdelprete/ha-sugar-valley-neopool",
   "domain": "sugar_valley_neopool",
   "domains": [
    "sugar_valley_neopool"
   ],
   "version": "v1.1.3",
   "ref": "refs/tags/v1.1.3",
   "stargazers_count": 6,
   "repo_url": "https://github.com/alexdelprete/ha-sugar-valley-neopool",
   "scanned_utc": "2026-08-08T05:15:38Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sugar_valley_neopool/__init__.py",
     "line": 518,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sugar_valley_neopool/__init__.py",
     "line": 519,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sugar_valley_neopool/__init__.py",
     "line": 1028,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sugar_valley_neopool/__init__.py",
     "line": 1269,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sugar_valley_neopool/__init__.py",
     "line": 1517,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ange007/ha-sun-allocator",
   "domain": "sun_allocator",
   "domains": [
    "sun_allocator"
   ],
   "version": "v1.2.0",
   "ref": "refs/tags/v1.2.0",
   "stargazers_count": 6,
   "repo_url": "https://github.com/ange007/ha-sun-allocator",
   "scanned_utc": "2026-08-08T05:16:46Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sun_allocator/config/__init__.py",
     "line": 567,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sun_allocator/sensor/utils.py",
     "line": 67,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "BenJamesAndo/ha-propresenter",
   "domain": "propresenter",
   "domains": [
    "propresenter"
   ],
   "version": "v0.4.2",
   "ref": "refs/tags/v0.4.2",
   "stargazers_count": 6,
   "repo_url": "https://github.com/BenJamesAndo/ha-propresenter",
   "scanned_utc": "2026-08-13T04:27:41Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/propresenter/coordinator.py",
     "line": 190,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "dhover/ha-iungo",
   "domain": "iungo",
   "domains": [
    "iungo"
   ],
   "version": "1.6.1",
   "ref": "refs/tags/1.6.1",
   "stargazers_count": 6,
   "repo_url": "https://github.com/dhover/ha-iungo",
   "scanned_utc": "2026-08-09T03:52:37Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/iungo/sensor.py",
     "line": 160,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "exterrestris/home-assistant-raritan-px",
   "domain": "raritan_px",
   "domains": [
    "raritan_px"
   ],
   "version": "v1.0.0",
   "ref": "refs/tags/v1.0.0",
   "stargazers_count": 6,
   "repo_url": "https://github.com/exterrestris/home-assistant-raritan-px",
   "scanned_utc": "2026-08-09T03:53:39Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/raritan_px/entity/__init__.py",
     "line": 82,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "GrandstreamEngineering/grandstream_home",
   "domain": "grandstream_home",
   "domains": [
    "grandstream_home"
   ],
   "version": "v1.0.1",
   "ref": "refs/tags/v1.0.1",
   "stargazers_count": 6,
   "repo_url": "https://github.com/GrandstreamEngineering/grandstream_home",
   "scanned_utc": "2026-08-08T05:05:24Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/grandstream_home/button.py",
     "line": 88,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "hoizi89/pv_management_fix",
   "domain": "pv_management_fix",
   "domains": [
    "pv_management_fix"
   ],
   "version": "v2.4.0",
   "ref": "refs/tags/v2.4.0",
   "stargazers_count": 6,
   "repo_url": "https://github.com/hoizi89/pv_management_fix",
   "scanned_utc": "2026-08-10T03:56:57Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management_fix/binary_sensor.py",
     "line": 27,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management_fix/sensor.py",
     "line": 37,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management_fix/sensor.py",
     "line": 45,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management_fix/sensor.py",
     "line": 53,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management_fix/sensor.py",
     "line": 61,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pv_management_fix/sensor.py",
     "line": 69,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "hzjchina/hass-welock",
   "domain": "welock",
   "domains": [
    "welock"
   ],
   "version": "v1.0.1",
   "ref": "refs/tags/v1.0.1",
   "stargazers_count": 6,
   "repo_url": "https://github.com/hzjchina/hass-welock",
   "scanned_utc": "2026-08-10T03:57:08Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/welock/__init__.py",
     "line": 166,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "iu1jvo/meteobridge",
   "domain": "meteobridge",
   "domains": [
    "meteobridge"
   ],
   "version": "v3.5.4",
   "ref": "refs/tags/v3.5.4",
   "stargazers_count": 6,
   "repo_url": "https://github.com/iu1jvo/meteobridge",
   "scanned_utc": "2026-08-10T03:57:40Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/meteobridge/entity.py",
     "line": 36,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "kclif9/hassactronneo",
   "domain": "actron_air",
   "domains": [
    "actron_air"
   ],
   "version": "v0.10.12",
   "ref": "refs/tags/v0.10.12",
   "stargazers_count": 6,
   "repo_url": "https://github.com/kclif9/hassactronneo",
   "scanned_utc": "2026-08-10T03:59:09Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/actronair/entity.py",
     "line": 87,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/actronair/entity.py",
     "line": 113,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "kgn3400/state_updated",
   "domain": "state_updated",
   "domains": [
    "state_updated"
   ],
   "version": "v1.0.34",
   "ref": "refs/tags/v1.0.34",
   "stargazers_count": 6,
   "repo_url": "https://github.com/kgn3400/state_updated",
   "scanned_utc": "2026-08-10T03:59:14Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "core-call-async-remove-stale-devices-links-keep-current-device",
     "breaks_in": "2027.8",
     "file": "custom_components/state_updated/__init__.py",
     "line": 106,
     "confidence": "medium"
    },
    {
     "rule_id": "core-call-async-device-info-to-link-from-device-id",
     "breaks_in": "2027.8",
     "file": "custom_components/state_updated/binary_sensor.py",
     "line": 99,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "MortUK/Aferiy-PS240-Local-",
   "domain": "aecc_battery",
   "domains": [
    "aecc_battery"
   ],
   "version": "v1.7.9",
   "ref": "refs/tags/v1.7.9",
   "stargazers_count": 6,
   "repo_url": "https://github.com/MortUK/Aferiy-PS240-Local-",
   "scanned_utc": "2026-08-08T05:08:50Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aecc_battery/__init__.py",
     "line": 235,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aecc_battery/__init__.py",
     "line": 238,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ndom91/homeassistant-checkly",
   "domain": "checkly",
   "domains": [
    "checkly"
   ],
   "version": "",
   "ref": "refs/heads/main",
   "stargazers_count": 6,
   "repo_url": "https://github.com/ndom91/homeassistant-checkly",
   "scanned_utc": "2026-08-11T03:56:03Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/checkly/__init__.py",
     "line": 112,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "PineappleEmperor/ocado-ha",
   "domain": "ocado",
   "domains": [
    "ocado"
   ],
   "version": "v2.0.1",
   "ref": "refs/tags/v2.0.1",
   "stargazers_count": 6,
   "repo_url": "https://github.com/PineappleEmperor/ocado-ha",
   "scanned_utc": "2026-08-08T05:10:47Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ocado/__init__.py",
     "line": 60,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "recalbox/RecalboxHomeAssistant",
   "domain": "recalbox",
   "domains": [
    "recalbox"
   ],
   "version": "v1.6.6",
   "ref": "refs/tags/v1.6.6",
   "stargazers_count": 6,
   "repo_url": "https://github.com/recalbox/RecalboxHomeAssistant",
   "scanned_utc": "2026-08-12T03:58:45Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/recalbox/switch.py",
     "line": 341,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "SanderBlom/BIR_Waste_Watch",
   "domain": "bir",
   "domains": [
    "bir"
   ],
   "version": "v2.2.2",
   "ref": "refs/tags/v2.2.2",
   "stargazers_count": 6,
   "repo_url": "https://github.com/SanderBlom/BIR_Waste_Watch",
   "scanned_utc": "2026-08-08T05:11:51Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bir/__init__.py",
     "line": 160,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "trcyberoptic/hoval-connect-api",
   "domain": "hoval_connect",
   "domains": [
    "hoval_connect"
   ],
   "version": "v1.0.5",
   "ref": "refs/tags/v1.0.5",
   "stargazers_count": 6,
   "repo_url": "https://github.com/trcyberoptic/hoval-connect-api",
   "scanned_utc": "2026-08-13T04:24:45Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hoval_connect/__init__.py",
     "line": 74,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "v1k70rk4/HASS.Agent.NET10-Integration",
   "domain": "hass_agent",
   "domains": [
    "hass_agent"
   ],
   "version": "v10.6.0",
   "ref": "refs/tags/v10.6.0",
   "stargazers_count": 6,
   "repo_url": "https://github.com/v1k70rk4/HASS.Agent.NET10-Integration",
   "scanned_utc": "2026-08-13T04:25:11Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hass_agent/__init__.py",
     "line": 522,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hass_agent/button.py",
     "line": 79,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hass_agent/media_player.py",
     "line": 63,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hass_agent/sensor.py",
     "line": 263,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "xkain/ESPSomfy-RTS-enhanced",
   "domain": "espsomfy_rts_enhanced",
   "domains": [
    "espsomfy_rts_enhanced"
   ],
   "version": "v2.5.6",
   "ref": "refs/tags/v2.5.6",
   "stargazers_count": 6,
   "repo_url": "https://github.com/xkain/ESPSomfy-RTS-enhanced",
   "scanned_utc": "2026-08-13T04:26:11Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/espsomfy_rts_enhanced/controller.py",
     "line": 590,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/espsomfy_rts_enhanced/entity.py",
     "line": 32,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/espsomfy_rts_enhanced/entity.py",
     "line": 43,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "adamjthompson/Gaming-Status",
   "domain": "gaming_status",
   "domains": [
    "gaming_status"
   ],
   "version": "v4.0.2",
   "ref": "refs/tags/v4.0.2",
   "stargazers_count": 5,
   "repo_url": "https://github.com/adamjthompson/Gaming-Status",
   "scanned_utc": "2026-08-08T05:14:51Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/gaming_status/config_flow.py",
     "line": 2206,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "alexdelprete/ha-4noks-elios4you",
   "domain": "4noks_elios4you",
   "domains": [
    "4noks_elios4you"
   ],
   "version": "v1.3.1",
   "ref": "refs/tags/v1.3.1",
   "stargazers_count": 5,
   "repo_url": "https://github.com/alexdelprete/ha-4noks-elios4you",
   "scanned_utc": "2026-08-08T05:15:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/4noks_elios4you/__init__.py",
     "line": 87,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/4noks_elios4you/__init__.py",
     "line": 102,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Anat0l/waterius-ha",
   "domain": "waterius_ha",
   "domains": [
    "waterius_ha"
   ],
   "version": "v1.0.3",
   "ref": "refs/tags/v1.0.3",
   "stargazers_count": 5,
   "repo_url": "https://github.com/Anat0l/waterius-ha",
   "scanned_utc": "2026-08-13T04:27:14Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/waterius_ha/sensor.py",
     "line": 1474,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/waterius_ha/web_server.py",
     "line": 417,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "finder39/ha-dockge",
   "domain": "dockge",
   "domains": [
    "dockge"
   ],
   "version": "v1.7.2",
   "ref": "refs/tags/v1.7.2",
   "stargazers_count": 5,
   "repo_url": "https://github.com/finder39/ha-dockge",
   "scanned_utc": "2026-08-09T03:53:52Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/dockge/__init__.py",
     "line": 252,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dockge/devices.py",
     "line": 44,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "hostcc/hass-gs-alarm",
   "domain": "gs_alarm",
   "domains": [
    "gs_alarm"
   ],
   "version": "3.14.0",
   "ref": "refs/tags/3.14.0",
   "stargazers_count": 5,
   "repo_url": "https://github.com/hostcc/hass-gs-alarm",
   "scanned_utc": "2026-08-10T03:57:00Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/gs_alarm/mixin.py",
     "line": 239,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/gs_alarm/mixin.py",
     "line": 310,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "iluvdata/pdf_scrape",
   "domain": "pdf_scrape",
   "domains": [
    "pdf_scrape"
   ],
   "version": "2026.6.0",
   "ref": "refs/tags/2026.6.0",
   "stargazers_count": 5,
   "repo_url": "https://github.com/iluvdata/pdf_scrape",
   "scanned_utc": "2026-08-10T03:57:22Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/pdf_scrape/__init__.py",
     "line": 81,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/pdf_scrape/__init__.py",
     "line": 83,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "jibrilsharafi/homeassistant-energyme",
   "domain": "energyme",
   "domains": [
    "energyme"
   ],
   "version": "v1.2.0",
   "ref": "refs/tags/v1.2.0",
   "stargazers_count": 5,
   "repo_url": "https://github.com/jibrilsharafi/homeassistant-energyme",
   "scanned_utc": "2026-08-10T03:58:00Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/energyme/sensor.py",
     "line": 466,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "kayloehmann/ha-gardena-smart-system",
   "domain": "gardena_smart_system_ng",
   "domains": [
    "gardena_smart_system_ng"
   ],
   "version": "v2.1.2",
   "ref": "refs/tags/v2.1.2",
   "stargazers_count": 5,
   "repo_url": "https://github.com/kayloehmann/ha-gardena-smart-system",
   "scanned_utc": "2026-08-10T03:59:08Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/gardena_smart_system_ng/base_coordinator.py",
     "line": 711,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "killer0071234/ha-hiq",
   "domain": "hiq",
   "domains": [
    "hiq"
   ],
   "version": "v0.3.3",
   "ref": "refs/tags/v0.3.3",
   "stargazers_count": 5,
   "repo_url": "https://github.com/killer0071234/ha-hiq",
   "scanned_utc": "2026-08-10T03:59:18Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/binary_sensor.py",
     "line": 164,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/binary_sensor.py",
     "line": 194,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/button.py",
     "line": 92,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/button.py",
     "line": 123,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/climate.py",
     "line": 170,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/cover.py",
     "line": 71,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/light.py",
     "line": 92,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/light.py",
     "line": 158,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/number.py",
     "line": 84,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/number.py",
     "line": 291,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/select.py",
     "line": 109,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/select.py",
     "line": 191,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/sensor.py",
     "line": 301,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/sensor.py",
     "line": 363,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/sensor.py",
     "line": 444,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/sensor.py",
     "line": 584,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/sensor.py",
     "line": 715,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/switch.py",
     "line": 83,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/switch.py",
     "line": 144,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hiq/weather.py",
     "line": 59,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "ksanislo/honda_generator",
   "domain": "honda_generator",
   "domains": [
    "honda_generator"
   ],
   "version": "v1.4.3",
   "ref": "refs/tags/v1.4.3",
   "stargazers_count": 5,
   "repo_url": "https://github.com/ksanislo/honda_generator",
   "scanned_utc": "2026-08-10T04:00:01Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/honda_generator/entity.py",
     "line": 70,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "MacSiem/ha-vacuum-water-monitor",
   "domain": "ha_vacuum_water_monitor",
   "domains": [
    "ha_vacuum_water_monitor"
   ],
   "version": "v5.1.11",
   "ref": "refs/tags/v5.1.11",
   "stargazers_count": 5,
   "repo_url": "https://github.com/MacSiem/ha-vacuum-water-monitor",
   "scanned_utc": "2026-08-08T05:08:10Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ha_vacuum_water_monitor/__init__.py",
     "line": 152,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "matt-richardson/home-assistant-qustodio",
   "domain": "qustodio",
   "domains": [
    "qustodio"
   ],
   "version": "v2.1.0",
   "ref": "refs/tags/v2.1.0",
   "stargazers_count": 5,
   "repo_url": "https://github.com/matt-richardson/home-assistant-qustodio",
   "scanned_utc": "2026-08-11T03:54:24Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/qustodio/entity.py",
     "line": 139,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "RogerSelwyn/AICO_HomeLINK",
   "domain": "homelink",
   "domains": [
    "homelink"
   ],
   "version": "v2.1.0",
   "ref": "refs/tags/v2.1.0",
   "stargazers_count": 5,
   "repo_url": "https://github.com/RogerSelwyn/AICO_HomeLINK",
   "scanned_utc": "2026-08-08T05:11:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homelink/binary_sensor.py",
     "line": 246,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/homelink/binary_sensor.py",
     "line": 357,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "SenMorgan/EX-HABridge",
   "domain": "ex_habridge",
   "domains": [
    "ex_habridge"
   ],
   "version": "v1.3.1",
   "ref": "refs/tags/v1.3.1",
   "stargazers_count": 5,
   "repo_url": "https://github.com/SenMorgan/EX-HABridge",
   "scanned_utc": "2026-08-08T05:12:06Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ex_habridge/entity.py",
     "line": 92,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "sumgup0/FanimationHA-AC-BT",
   "domain": "fanimation",
   "domains": [
    "fanimation"
   ],
   "version": "v2.0.0",
   "ref": "refs/tags/v2.0.0",
   "stargazers_count": 5,
   "repo_url": "https://github.com/sumgup0/FanimationHA-AC-BT",
   "scanned_utc": "2026-08-12T04:01:30Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fanimation/config_flow.py",
     "line": 359,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "AboveColin/HA-Forgejo",
   "domain": "forgejo",
   "domains": [
    "forgejo"
   ],
   "version": "v1.0.1",
   "ref": "refs/tags/v1.0.1",
   "stargazers_count": 4,
   "repo_url": "https://github.com/AboveColin/HA-Forgejo",
   "scanned_utc": "2026-08-13T04:27:01Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/forgejo/entity.py",
     "line": 56,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "BenAhrdt/home-assistant-lorawan",
   "domain": "lorawan",
   "domains": [
    "lorawan"
   ],
   "version": "0.1.29",
   "ref": "refs/tags/0.1.29",
   "stargazers_count": 4,
   "repo_url": "https://github.com/BenAhrdt/home-assistant-lorawan",
   "scanned_utc": "2026-08-13T04:27:40Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lorawan/__init__.py",
     "line": 477,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/lorawan/__init__.py",
     "line": 853,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "bvweerd/battery_controller",
   "domain": "battery_controller",
   "domains": [
    "battery_controller"
   ],
   "version": "v2.9.1",
   "ref": "refs/tags/v2.9.1",
   "stargazers_count": 4,
   "repo_url": "https://github.com/bvweerd/battery_controller",
   "scanned_utc": "2026-08-08T05:19:44Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/battery_controller/__init__.py",
     "line": 225,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/battery_controller/__init__.py",
     "line": 237,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/battery_controller/sensor.py",
     "line": 129,
     "confidence": "medium"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/battery_controller/sensor.py",
     "line": 130,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/battery_controller/sensor.py",
     "line": 131,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "chrisfore/anycubic_ha_local",
   "domain": "anycubic",
   "domains": [
    "anycubic"
   ],
   "version": "v1.2.1",
   "ref": "refs/tags/v1.2.1",
   "stargazers_count": 4,
   "repo_url": "https://github.com/chrisfore/anycubic_ha_local",
   "scanned_utc": "2026-08-08T05:20:38Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/anycubic/coordinator.py",
     "line": 174,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/anycubic/entity.py",
     "line": 80,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "clintongormley/ambience",
   "domain": "ambience",
   "domains": [
    "ambience"
   ],
   "version": "v1.1.0",
   "ref": "refs/tags/v1.1.0",
   "stargazers_count": 4,
   "repo_url": "https://github.com/clintongormley/ambience",
   "scanned_utc": "2026-08-08T05:20:55Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ambience/switch.py",
     "line": 106,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ambience/switch.py",
     "line": 353,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ambience/switch.py",
     "line": 366,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "CumpsD/home-assistant-leo-ntp",
   "domain": "leo_ntp",
   "domains": [
    "leo_ntp"
   ],
   "version": "v1.2.0",
   "ref": "refs/tags/v1.2.0",
   "stargazers_count": 4,
   "repo_url": "https://github.com/CumpsD/home-assistant-leo-ntp",
   "scanned_utc": "2026-08-13T04:28:39Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/leo_ntp/__init__.py",
     "line": 119,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "ElektroBeckhoff/ha-twincat-iot-communicator",
   "domain": "twincat_iot_communicator",
   "domains": [
    "twincat_iot_communicator"
   ],
   "version": "v0.0.18",
   "ref": "refs/tags/v0.0.18",
   "stargazers_count": 4,
   "repo_url": "https://github.com/ElektroBeckhoff/ha-twincat-iot-communicator",
   "scanned_utc": "2026-08-08T05:04:04Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/twincat_iot_communicator/__init__.py",
     "line": 207,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/twincat_iot_communicator/config_flow.py",
     "line": 797,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/twincat_iot_communicator/entity.py",
     "line": 60,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/twincat_iot_communicator/entity.py",
     "line": 161,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/twincat_iot_communicator/entity.py",
     "line": 259,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/twincat_iot_communicator/repairs.py",
     "line": 118,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Griswoldlabs/span-panel-ha",
   "domain": "span_panel",
   "domains": [
    "span_panel"
   ],
   "version": "v1.0.0",
   "ref": "refs/tags/v1.0.0",
   "stargazers_count": 4,
   "repo_url": "https://github.com/Griswoldlabs/span-panel-ha",
   "scanned_utc": "2026-08-08T05:05:27Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/span_panel/binary_sensor.py",
     "line": 60,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/span_panel/sensor.py",
     "line": 196,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "JimKoene/gumax-rf",
   "domain": "gumax_rf",
   "domains": [
    "gumax_rf"
   ],
   "version": "2026.07.26",
   "ref": "refs/tags/2026.07.26",
   "stargazers_count": 4,
   "repo_url": "https://github.com/JimKoene/gumax-rf",
   "scanned_utc": "2026-08-08T05:06:38Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/gumax_rf/__init__.py",
     "line": 40,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/gumax_rf/config_flow.py",
     "line": 371,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "joshburkard/home-assistant-connectivity-monitor",
   "domain": "connectivity_monitor",
   "domains": [
    "connectivity_monitor"
   ],
   "version": "1.0.00000",
   "ref": "refs/tags/1.0.00000",
   "stargazers_count": 4,
   "repo_url": "https://github.com/joshburkard/home-assistant-connectivity-monitor",
   "scanned_utc": "2026-08-10T03:58:27Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/connectivity_monitor/config_flow.py",
     "line": 2584,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/connectivity_monitor/sensor.py",
     "line": 312,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "kongo09/remote_buttons",
   "domain": "remote_buttons",
   "domains": [
    "remote_buttons"
   ],
   "version": "v1.2.1",
   "ref": "refs/tags/v1.2.1",
   "stargazers_count": 4,
   "repo_url": "https://github.com/kongo09/remote_buttons",
   "scanned_utc": "2026-08-10T03:59:39Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/remote_buttons/__init__.py",
     "line": 408,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/remote_buttons/button.py",
     "line": 60,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/remote_buttons/number.py",
     "line": 64,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "moag1000/beurer_daylight_lamps",
   "domain": "beurer_daylight_lamps",
   "domains": [
    "beurer_daylight_lamps"
   ],
   "version": "v1.36.4",
   "ref": "refs/tags/v1.36.4",
   "stargazers_count": 4,
   "repo_url": "https://github.com/moag1000/beurer_daylight_lamps",
   "scanned_utc": "2026-08-11T03:55:10Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/beurer_daylight_lamps/therapy_hub.py",
     "line": 64,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "mtheli/isdt_air_ble",
   "domain": "isdt_air_ble",
   "domains": [
    "isdt_air_ble"
   ],
   "version": "v0.9.3",
   "ref": "refs/tags/v0.9.3",
   "stargazers_count": 4,
   "repo_url": "https://github.com/mtheli/isdt_air_ble",
   "scanned_utc": "2026-08-11T03:55:33Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/isdt_air_ble/__init__.py",
     "line": 152,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/isdt_air_ble/coordinator.py",
     "line": 1042,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/isdt_air_ble/helpers.py",
     "line": 24,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/isdt_air_ble/helpers.py",
     "line": 43,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "odoricof/Home-Sapiens-Assistant",
   "domain": "domo",
   "domains": [
    "domo"
   ],
   "version": "1.7.0",
   "ref": "refs/tags/1.7.0",
   "stargazers_count": 4,
   "repo_url": "https://github.com/odoricof/Home-Sapiens-Assistant",
   "scanned_utc": "2026-08-11T03:56:35Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/domo/binary_sensor.py",
     "line": 55,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/domo/climate.py",
     "line": 96,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/domo/sensor.py",
     "line": 75,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/domo/sensor.py",
     "line": 94,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "sibest19/hass-meteoam",
   "domain": "meteoam",
   "domains": [
    "meteoam"
   ],
   "version": "v2.1.0",
   "ref": "refs/tags/v2.1.0",
   "stargazers_count": 4,
   "repo_url": "https://github.com/sibest19/hass-meteoam",
   "scanned_utc": "2026-08-12T04:00:27Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/meteoam/__init__.py",
     "line": 69,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "spatecon/orcommconnect",
   "domain": "orcommconnect",
   "domains": [
    "orcommconnect"
   ],
   "version": "v1.2.3",
   "ref": "refs/tags/v1.2.3",
   "stargazers_count": 4,
   "repo_url": "https://github.com/spatecon/orcommconnect",
   "scanned_utc": "2026-08-12T04:01:11Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/orcommconnect/entity.py",
     "line": 22,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Csontikka/ha-syncthing-extended",
   "domain": "syncthing_extended",
   "domains": [
    "syncthing_extended"
   ],
   "version": "v0.1.8",
   "ref": "refs/tags/v0.1.8",
   "stargazers_count": 3,
   "repo_url": "https://github.com/Csontikka/ha-syncthing-extended",
   "scanned_utc": "2026-08-13T04:28:38Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/syncthing_extended/entity.py",
     "line": 46,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/syncthing_extended/entity.py",
     "line": 69,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "dawg-io/homeassistant-fluxcd",
   "domain": "fluxcd_k8s",
   "domains": [
    "fluxcd_k8s"
   ],
   "version": "v0.1.7",
   "ref": "refs/tags/v0.1.7",
   "stargazers_count": 3,
   "repo_url": "https://github.com/dawg-io/homeassistant-fluxcd",
   "scanned_utc": "2026-08-09T03:52:18Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fluxcd_k8s/__init__.py",
     "line": 94,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fluxcd_k8s/sensor.py",
     "line": 332,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "desyncdotdev/home-assistant-magnum-w-controller",
   "domain": "magnum_w_controller",
   "domains": [
    "magnum_w_controller"
   ],
   "version": "2026.6.0",
   "ref": "refs/tags/2026.6.0",
   "stargazers_count": 3,
   "repo_url": "https://github.com/desyncdotdev/home-assistant-magnum-w-controller",
   "scanned_utc": "2026-08-09T03:52:32Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/magnum_w_controller/entity.py",
     "line": 37,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "elden1337/ha-eltariff",
   "domain": "eltariff",
   "domains": [
    "eltariff"
   ],
   "version": "0.3.3",
   "ref": "refs/tags/0.3.3",
   "stargazers_count": 3,
   "repo_url": "https://github.com/elden1337/ha-eltariff",
   "scanned_utc": "2026-08-09T03:53:18Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/eltariff/sensor/cost_sensor_base.py",
     "line": 78,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "eseverson/hass-balena",
   "domain": "balena_cloud",
   "domains": [
    "balena_cloud"
   ],
   "version": "v1.0.5",
   "ref": "refs/tags/v1.0.5",
   "stargazers_count": 3,
   "repo_url": "https://github.com/eseverson/hass-balena",
   "scanned_utc": "2026-08-09T03:53:36Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/balena_cloud/api.py",
     "line": 216,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/balena_cloud/binary_sensor.py",
     "line": 208,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/balena_cloud/button.py",
     "line": 217,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/balena_cloud/coordinator.py",
     "line": 247,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/balena_cloud/sensor.py",
     "line": 315,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/balena_cloud/switch.py",
     "line": 212,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "FaserF/ha-foodsharing",
   "domain": "foodsharing",
   "domains": [
    "foodsharing"
   ],
   "version": "v2026.8.0",
   "ref": "refs/tags/v2026.8.0",
   "stargazers_count": 3,
   "repo_url": "https://github.com/FaserF/ha-foodsharing",
   "scanned_utc": "2026-08-08T05:04:48Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/foodsharing/button.py",
     "line": 147,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/foodsharing/geo_location.py",
     "line": 155,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/foodsharing/geo_location.py",
     "line": 252,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/foodsharing/sensor.py",
     "line": 39,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/foodsharing/sensor.py",
     "line": 137,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/foodsharing/sensor.py",
     "line": 201,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Fistacho/ha-netatmo-bubendorff",
   "domain": "netatmo_bubendorff",
   "domains": [
    "netatmo_bubendorff"
   ],
   "version": "v1.5.3",
   "ref": "refs/tags/v1.5.3",
   "stargazers_count": 3,
   "repo_url": "https://github.com/Fistacho/ha-netatmo-bubendorff",
   "scanned_utc": "2026-08-08T05:05:02Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/netatmo_bubendorff/netatmo_entity_base.py",
     "line": 74,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "hitchin999/protector_net",
   "domain": "protector_net",
   "domains": [
    "protector_net"
   ],
   "version": "v0.2.6",
   "ref": "refs/tags/v0.2.6",
   "stargazers_count": 3,
   "repo_url": "https://github.com/hitchin999/protector_net",
   "scanned_utc": "2026-08-10T03:56:53Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/protector_net/__init__.py",
     "line": 77,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/protector_net/__init__.py",
     "line": 148,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "italo-lombardi/Home-Assistant-EntityDistance",
   "domain": "entity_distance",
   "domains": [
    "entity_distance"
   ],
   "version": "v0.4.3",
   "ref": "refs/tags/v0.4.3",
   "stargazers_count": 3,
   "repo_url": "https://github.com/italo-lombardi/Home-Assistant-EntityDistance",
   "scanned_utc": "2026-08-10T03:57:29Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/entity_distance/binary_sensor.py",
     "line": 60,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/entity_distance/sensor.py",
     "line": 68,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "jensfr1/ha-ecoflow-ocean2",
   "domain": "ecoflow_ocean2",
   "domains": [
    "ecoflow_ocean2"
   ],
   "version": "v0.5.0",
   "ref": "refs/tags/v0.5.0",
   "stargazers_count": 3,
   "repo_url": "https://github.com/jensfr1/ha-ecoflow-ocean2",
   "scanned_utc": "2026-08-10T03:57:55Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ecoflow_ocean2/entity.py",
     "line": 44,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "lackas/ha-gridx",
   "domain": "gridx",
   "domains": [
    "gridx"
   ],
   "version": "v1.1.1",
   "ref": "refs/tags/v1.1.1",
   "stargazers_count": 3,
   "repo_url": "https://github.com/lackas/ha-gridx",
   "scanned_utc": "2026-08-10T04:00:05Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/gridx/sensor.py",
     "line": 558,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/gridx/sensor.py",
     "line": 698,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "MarkAtwood/ha-mqtt-device-sync",
   "domain": "mqtt_device_sync",
   "domains": [
    "mqtt_device_sync"
   ],
   "version": "v0.2.0",
   "ref": "refs/tags/v0.2.0",
   "stargazers_count": 3,
   "repo_url": "https://github.com/MarkAtwood/ha-mqtt-device-sync",
   "scanned_utc": "2026-08-08T05:08:21Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mqtt_device_sync/__init__.py",
     "line": 234,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "MattieGit/qube_heatpump",
   "domain": "qube_heatpump",
   "domains": [
    "qube_heatpump"
   ],
   "version": "v2026.8.1",
   "ref": "refs/tags/v2026.8.1",
   "stargazers_count": 3,
   "repo_url": "https://github.com/MattieGit/qube_heatpump",
   "scanned_utc": "2026-08-08T05:08:31Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/qube_heatpump/config_flow.py",
     "line": 475,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "MedVedZot/mopeka-ha",
   "domain": "mopeka_ha",
   "domains": [
    "mopeka_ha"
   ],
   "version": "v1.2.5",
   "ref": "refs/tags/v1.2.5",
   "stargazers_count": 3,
   "repo_url": "https://github.com/MedVedZot/mopeka-ha",
   "scanned_utc": "2026-08-08T05:08:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mopeka_ha/sensor.py",
     "line": 75,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "memphi2/ha-unifi-drive",
   "domain": "unifi_unas",
   "domains": [
    "unifi_unas"
   ],
   "version": "v0.8.6",
   "ref": "refs/tags/v0.8.6",
   "stargazers_count": 3,
   "repo_url": "https://github.com/memphi2/ha-unifi-drive",
   "scanned_utc": "2026-08-11T03:54:39Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_unas/__init__.py",
     "line": 388,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Nino6689/hass-anycubic",
   "domain": "anycubic_cloud",
   "domains": [
    "anycubic_cloud"
   ],
   "version": "v1.3.0",
   "ref": "refs/tags/v1.3.0",
   "stargazers_count": 3,
   "repo_url": "https://github.com/Nino6689/hass-anycubic",
   "scanned_utc": "2026-08-08T05:09:44Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/anycubic_cloud/coordinator.py",
     "line": 1295,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/anycubic_cloud/helpers.py",
     "line": 93,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "olivierplante/ec-weather",
   "domain": "ec_weather",
   "domains": [
    "ec_weather"
   ],
   "version": "v2.5.1",
   "ref": "refs/tags/v2.5.1",
   "stargazers_count": 3,
   "repo_url": "https://github.com/olivierplante/ec-weather",
   "scanned_utc": "2026-08-11T03:56:41Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ec_weather/websocket.py",
     "line": 67,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "pvyleta/xcc-integration",
   "domain": "xcc",
   "domains": [
    "xcc"
   ],
   "version": "v1.15.17",
   "ref": "refs/tags/v1.15.17",
   "stargazers_count": 3,
   "repo_url": "https://github.com/pvyleta/xcc-integration",
   "scanned_utc": "2026-08-11T03:57:46Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/xcc/entity.py",
     "line": 111,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "SavageNL/home-assistant-volcano-hybrid",
   "domain": "volcano_hybrid",
   "domains": [
    "volcano_hybrid"
   ],
   "version": "1.0.4",
   "ref": "refs/tags/1.0.4",
   "stargazers_count": 3,
   "repo_url": "https://github.com/SavageNL/home-assistant-volcano-hybrid",
   "scanned_utc": "2026-08-08T05:11:58Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/volcano_hybrid/coordinator.py",
     "line": 213,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "tom42530/asys_ble_ha",
   "domain": "asys_ble",
   "domains": [
    "asys_ble"
   ],
   "version": "1.05",
   "ref": "refs/tags/1.05",
   "stargazers_count": 3,
   "repo_url": "https://github.com/tom42530/asys_ble_ha",
   "scanned_utc": "2026-08-12T04:02:26Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/asys_ble/diagnostics.py",
     "line": 29,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Xerolux/idm-heatpump-hass",
   "domain": "idm_heatpump",
   "domains": [
    "idm_heatpump"
   ],
   "version": "v0.10.1",
   "ref": "refs/tags/v0.10.1",
   "stargazers_count": 3,
   "repo_url": "https://github.com/Xerolux/idm-heatpump-hass",
   "scanned_utc": "2026-08-08T05:14:04Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/idm_heatpump/device_hierarchy.py",
     "line": 247,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/idm_heatpump/device_hierarchy.py",
     "line": 265,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/idm_heatpump/device_hierarchy.py",
     "line": 275,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/idm_heatpump/device_hierarchy.py",
     "line": 285,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/idm_heatpump/device_hierarchy.py",
     "line": 296,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "adamotte/ha-easycare-bywaterair",
   "domain": "easycare_bywaterair",
   "domains": [
    "easycare_bywaterair"
   ],
   "version": "v1.6.0",
   "ref": "refs/tags/v1.6.0",
   "stargazers_count": 2,
   "repo_url": "https://github.com/adamotte/ha-easycare-bywaterair",
   "scanned_utc": "2026-08-08T05:14:54Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/easycare_bywaterair/__init__.py",
     "line": 180,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/easycare_bywaterair/__init__.py",
     "line": 192,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/easycare_bywaterair/__init__.py",
     "line": 204,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/easycare_bywaterair/entity.py",
     "line": 43,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/easycare_bywaterair/entity.py",
     "line": 55,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/easycare_bywaterair/entity.py",
     "line": 67,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "anym001/ha-mos",
   "domain": "mos",
   "domains": [
    "mos"
   ],
   "version": "v0.1.10",
   "ref": "refs/tags/v0.1.10",
   "stargazers_count": 2,
   "repo_url": "https://github.com/anym001/ha-mos",
   "scanned_utc": "2026-08-08T05:16:56Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mos/entity/base.py",
     "line": 130,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mos/entity_utils/device_area.py",
     "line": 86,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mos/entity_utils/dynamic_entities.py",
     "line": 132,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "bkbilly/G4S-Mobility",
   "domain": "g4smobility",
   "domains": [
    "g4smobility"
   ],
   "version": "0.0.3",
   "ref": "refs/tags/0.0.3",
   "stargazers_count": 2,
   "repo_url": "https://github.com/bkbilly/G4S-Mobility",
   "scanned_utc": "2026-08-08T05:18:46Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/g4smobility/binary_sensor.py",
     "line": 122,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/g4smobility/device_tracker.py",
     "line": 51,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/g4smobility/sensor.py",
     "line": 99,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/g4smobility/sensor.py",
     "line": 198,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "DECTYR/ha-integration",
   "domain": "dectyr_rx5",
   "domains": [
    "dectyr_rx5"
   ],
   "version": "v1.1.3",
   "ref": "refs/tags/v1.1.3",
   "stargazers_count": 2,
   "repo_url": "https://github.com/DECTYR/ha-integration",
   "scanned_utc": "2026-08-13T04:28:49Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/dectyr_rx5/coordinator.py",
     "line": 360,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "dn5qMDW3/ha-bsport",
   "domain": "bsport",
   "domains": [
    "bsport"
   ],
   "version": "v1.0.17",
   "ref": "refs/tags/v1.0.17",
   "stargazers_count": 2,
   "repo_url": "https://github.com/dn5qMDW3/ha-bsport",
   "scanned_utc": "2026-08-09T03:52:52Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bsport/__init__.py",
     "line": 257,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bsport/sensor.py",
     "line": 61,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bsport/sensor.py",
     "line": 76,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "duwi2024/ha_duwi_home",
   "domain": "duwi_home",
   "domains": [
    "duwi_home"
   ],
   "version": "v1.1.6",
   "ref": "refs/tags/v1.1.6",
   "stargazers_count": 2,
   "repo_url": "https://github.com/duwi2024/ha_duwi_home",
   "scanned_utc": "2026-08-09T03:53:06Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duwi_home/__init__.py",
     "line": 279,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "GeiserX/cashpilot-ha",
   "domain": "cashpilot",
   "domains": [
    "cashpilot"
   ],
   "version": "v1.1.1",
   "ref": "refs/tags/v1.1.1",
   "stargazers_count": 2,
   "repo_url": "https://github.com/GeiserX/cashpilot-ha",
   "scanned_utc": "2026-08-08T05:05:20Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/cashpilot/entity.py",
     "line": 58,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "gtxaspec/leviton-load-center",
   "domain": "leviton_load_center",
   "domains": [
    "leviton_load_center"
   ],
   "version": "v0.2.7",
   "ref": "refs/tags/v0.2.7",
   "stargazers_count": 2,
   "repo_url": "https://github.com/gtxaspec/leviton-load-center",
   "scanned_utc": "2026-08-09T03:55:00Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/leviton_load_center/__init__.py",
     "line": 103,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/leviton_load_center/entity.py",
     "line": 117,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/leviton_load_center/entity.py",
     "line": 140,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "hebrru/Hager-local",
   "domain": "hager_local",
   "domains": [
    "hager_local"
   ],
   "version": "0.2.19",
   "ref": "refs/tags/0.2.19",
   "stargazers_count": 2,
   "repo_url": "https://github.com/hebrru/Hager-local",
   "scanned_utc": "2026-08-09T03:55:35Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hager_local/entity.py",
     "line": 132,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hager_local/entity.py",
     "line": 292,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Hovborg/intex-pool",
   "domain": "intex_pool",
   "domains": [
    "intex_pool"
   ],
   "version": "v0.21.1",
   "ref": "refs/tags/v0.21.1",
   "stargazers_count": 2,
   "repo_url": "https://github.com/Hovborg/intex-pool",
   "scanned_utc": "2026-08-08T05:05:55Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/intex_pool/__init__.py",
     "line": 312,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "iluvdata/august_access_codes",
   "domain": "august_access_codes",
   "domains": [
    "august_access_codes"
   ],
   "version": "2026.6.0",
   "ref": "refs/tags/2026.6.0",
   "stargazers_count": 2,
   "repo_url": "https://github.com/iluvdata/august_access_codes",
   "scanned_utc": "2026-08-10T03:57:22Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/august_access_codes/binary_sensor.py",
     "line": 29,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/august_access_codes/binary_sensor.py",
     "line": 34,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/august_access_codes/sensor.py",
     "line": 29,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/august_access_codes/sensor.py",
     "line": 34,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "joyfulhouse/brilliant-mqtt",
   "domain": "brilliant_mqtt",
   "domains": [
    "brilliant_mqtt"
   ],
   "version": "v0.7.1",
   "ref": "refs/tags/v0.7.1",
   "stargazers_count": 2,
   "repo_url": "https://github.com/joyfulhouse/brilliant-mqtt",
   "scanned_utc": "2026-08-10T03:58:28Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/brilliant_mqtt/__init__.py",
     "line": 268,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "jrmattila/ha-elenia",
   "domain": "elenia",
   "domains": [
    "elenia"
   ],
   "version": "1.1.2",
   "ref": "refs/tags/1.1.2",
   "stargazers_count": 2,
   "repo_url": "https://github.com/jrmattila/ha-elenia",
   "scanned_utc": "2026-08-10T03:58:49Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/elenia/sensor.py",
     "line": 354,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "KipK/vtherm_hysteresis",
   "domain": "vtherm_hysteresis",
   "domains": [
    "vtherm_hysteresis"
   ],
   "version": "0.3.0",
   "ref": "refs/tags/0.3.0",
   "stargazers_count": 2,
   "repo_url": "https://github.com/KipK/vtherm_hysteresis",
   "scanned_utc": "2026-08-08T05:07:15Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/vtherm_hysteresis/handler.py",
     "line": 121,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/vtherm_hysteresis/handler.py",
     "line": 133,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Minitour/ha-higoal",
   "domain": "higoal",
   "domains": [
    "higoal"
   ],
   "version": "v1.1.12",
   "ref": "refs/tags/v1.1.12",
   "stargazers_count": 2,
   "repo_url": "https://github.com/Minitour/ha-higoal",
   "scanned_utc": "2026-08-08T05:08:43Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/higoal/__init__.py",
     "line": 53,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/higoal/diagnostics.py",
     "line": 101,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "mkirsten/lydbro-hass",
   "domain": "lydbro",
   "domains": [
    "lydbro"
   ],
   "version": "v0.2.6",
   "ref": "refs/tags/v0.2.6",
   "stargazers_count": 2,
   "repo_url": "https://github.com/mkirsten/lydbro-hass",
   "scanned_utc": "2026-08-11T03:55:08Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lydbro/coordinator.py",
     "line": 149,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "MrTomRocker/homeassistant-necromancer",
   "domain": "necromancer",
   "domains": [
    "necromancer"
   ],
   "version": "v0.2.2",
   "ref": "refs/tags/v0.2.2",
   "stargazers_count": 2,
   "repo_url": "https://github.com/MrTomRocker/homeassistant-necromancer",
   "scanned_utc": "2026-08-08T05:08:58Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/necromancer/__init__.py",
     "line": 488,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/necromancer/__init__.py",
     "line": 499,
     "confidence": "medium"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/necromancer/core/engine.py",
     "line": 860,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/necromancer/core/engine.py",
     "line": 861,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "sginestrini/home-assistant-tada-integration",
   "domain": "tada",
   "domains": [
    "tada"
   ],
   "version": "v0.2.1",
   "ref": "refs/tags/v0.2.1",
   "stargazers_count": 2,
   "repo_url": "https://github.com/sginestrini/home-assistant-tada-integration",
   "scanned_utc": "2026-08-12T04:00:20Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tada/__init__.py",
     "line": 265,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tada/__init__.py",
     "line": 316,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tada/__init__.py",
     "line": 344,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "tewke/ha-custom-integration",
   "domain": "tewke",
   "domains": [
    "tewke"
   ],
   "version": "v0.1.10",
   "ref": "refs/tags/v0.1.10",
   "stargazers_count": 2,
   "repo_url": "https://github.com/tewke/ha-custom-integration",
   "scanned_utc": "2026-08-12T04:01:55Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/tewke/util.py",
     "line": 231,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Yeelight/ha_yeelight_pro",
   "domain": "yeelight_pro",
   "domains": [
    "yeelight_pro"
   ],
   "version": "v1.0.5",
   "ref": "refs/tags/v1.0.5",
   "stargazers_count": 2,
   "repo_url": "https://github.com/Yeelight/ha_yeelight_pro",
   "scanned_utc": "2026-08-08T05:14:12Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/yeelight_pro/ha_device_registry.py",
     "line": 128,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/yeelight_pro/tests/test_ha_device_registry.py",
     "line": 44,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/yeelight_pro/tests/test_ha_device_registry.py",
     "line": 65,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/yeelight_pro/tests/test_ha_device_registry.py",
     "line": 138,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/yeelight_pro/tests/test_ha_device_registry.py",
     "line": 167,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/yeelight_pro/tests/test_ha_device_registry_metadata.py",
     "line": 173,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/yeelight_pro/tests/test_ha_device_registry_metadata.py",
     "line": 211,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/yeelight_pro/tests/test_lan_topology_coordinator.py",
     "line": 68,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "alpenfun/fems-diagnostics",
   "domain": "fems",
   "domains": [
    "fems"
   ],
   "version": "1.0.2",
   "ref": "refs/tags/1.0.2",
   "stargazers_count": 1,
   "repo_url": "https://github.com/alpenfun/fems-diagnostics",
   "scanned_utc": "2026-08-08T05:15:47Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fems/entity.py",
     "line": 172,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fems/entity.py",
     "line": 181,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/fems/entity.py",
     "line": 189,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "ankohanse/hass-gallagher-water",
   "domain": "gallagher_water",
   "domains": [
    "gallagher_water"
   ],
   "version": "v2026.07.1",
   "ref": "refs/tags/v2026.07.1",
   "stargazers_count": 1,
   "repo_url": "https://github.com/ankohanse/hass-gallagher-water",
   "scanned_utc": "2026-08-08T05:16:51Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/gallagher_water/shared/coordinator.py",
     "line": 257,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "ankohanse/hass-smart-water",
   "domain": "smartwater",
   "domains": [
    "smartwater"
   ],
   "version": "v2026.07.1",
   "ref": "refs/tags/v2026.07.1",
   "stargazers_count": 1,
   "repo_url": "https://github.com/ankohanse/hass-smart-water",
   "scanned_utc": "2026-08-08T05:16:52Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/smartwater/shared/coordinator.py",
     "line": 257,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "bharat/homeassistant-bromic-smart-heat-link",
   "domain": "bromic_smart_heat_link",
   "domains": [
    "bromic_smart_heat_link"
   ],
   "version": "v2026.5.13",
   "ref": "refs/tags/v2026.5.13",
   "stargazers_count": 1,
   "repo_url": "https://github.com/bharat/homeassistant-bromic-smart-heat-link",
   "scanned_utc": "2026-08-08T05:18:30Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bromic_smart_heat_link/config_flow.py",
     "line": 510,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bromic_smart_heat_link/config_flow.py",
     "line": 603,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bromic_smart_heat_link/config_flow.py",
     "line": 673,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bromic_smart_heat_link/entity.py",
     "line": 67,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "dhover/ha-cumulusmx",
   "domain": "cumulusmx",
   "domains": [
    "cumulusmx"
   ],
   "version": "1.5.9",
   "ref": "refs/tags/1.5.9",
   "stargazers_count": 1,
   "repo_url": "https://github.com/dhover/ha-cumulusmx",
   "scanned_utc": "2026-08-09T03:52:36Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/cumulusmx/sensor.py",
     "line": 61,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/cumulusmx/sensor.py",
     "line": 70,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/cumulusmx/sensor.py",
     "line": 80,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "EarthGoodness/egi",
   "domain": "egi",
   "domains": [
    "egi"
   ],
   "version": "0.0.7",
   "ref": "refs/tags/0.0.7",
   "stargazers_count": 1,
   "repo_url": "https://github.com/EarthGoodness/egi",
   "scanned_utc": "2026-08-08T05:03:56Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/egi/__init__.py",
     "line": 176,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "engelsofta/nodarion",
   "domain": "nodarion",
   "domains": [
    "nodarion"
   ],
   "version": "v1.17.7",
   "ref": "refs/tags/v1.17.7",
   "stargazers_count": 1,
   "repo_url": "https://github.com/engelsofta/nodarion",
   "scanned_utc": "2026-08-09T03:53:27Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/nodarion/binary_sensor.py",
     "line": 146,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "funkadelic/ha-rainpoint",
   "domain": "rainpoint",
   "domains": [
    "rainpoint"
   ],
   "version": "v1.14.0",
   "ref": "refs/tags/v1.14.0",
   "stargazers_count": 1,
   "repo_url": "https://github.com/funkadelic/ha-rainpoint",
   "scanned_utc": "2026-08-09T03:54:08Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/rainpoint/__init__.py",
     "line": 827,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "FWeinb/ha-sg-150",
   "domain": "sg_150",
   "domains": [
    "sg_150"
   ],
   "version": "0.2.0",
   "ref": "refs/tags/0.2.0",
   "stargazers_count": 1,
   "repo_url": "https://github.com/FWeinb/ha-sg-150",
   "scanned_utc": "2026-08-08T05:04:41Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sg_150/camera.py",
     "line": 101,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sg_150/coordinator.py",
     "line": 89,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/sg_150/coordinator.py",
     "line": 93,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sg_150/entity.py",
     "line": 69,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "GamingonTour1/ha-groupalarm-api",
   "domain": "groupalarm",
   "domains": [
    "groupalarm"
   ],
   "version": "v2.0.1",
   "ref": "refs/tags/v2.0.1",
   "stargazers_count": 1,
   "repo_url": "https://github.com/GamingonTour1/ha-groupalarm-api",
   "scanned_utc": "2026-08-08T05:05:16Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/groupalarm/__init__.py",
     "line": 97,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "geertmeersman/yoin",
   "domain": "yoin",
   "domains": [
    "yoin"
   ],
   "version": "v0.3.0",
   "ref": "refs/tags/v0.3.0",
   "stargazers_count": 1,
   "repo_url": "https://github.com/geertmeersman/yoin",
   "scanned_utc": "2026-08-09T03:54:31Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/yoin/__init__.py",
     "line": 188,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "gibz104/ha-sproutlink",
   "domain": "sproutlink",
   "domains": [
    "sproutlink"
   ],
   "version": "v1.0.1",
   "ref": "refs/tags/v1.0.1",
   "stargazers_count": 1,
   "repo_url": "https://github.com/gibz104/ha-sproutlink",
   "scanned_utc": "2026-08-09T03:54:37Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sproutlink/sensor.py",
     "line": 172,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "italo-lombardi/Home-Assistant-EntityGuard",
   "domain": "entity_guard",
   "domains": [
    "entity_guard"
   ],
   "version": "v0.2.8",
   "ref": "refs/tags/v0.2.8",
   "stargazers_count": 1,
   "repo_url": "https://github.com/italo-lombardi/Home-Assistant-EntityGuard",
   "scanned_utc": "2026-08-10T03:57:29Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/entity_guard/__init__.py",
     "line": 204,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "josa42/homeassistant-schwoerer-lueftung",
   "domain": "schwoerer_lueftung",
   "domains": [
    "schwoerer_lueftung"
   ],
   "version": "v1.1.0",
   "ref": "refs/tags/v1.1.0",
   "stargazers_count": 1,
   "repo_url": "https://github.com/josa42/homeassistant-schwoerer-lueftung",
   "scanned_utc": "2026-08-10T03:58:26Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/schwoerer_lueftung/coordinator.py",
     "line": 158,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "jyourstone/energy_manager",
   "domain": "energy_manager",
   "domains": [
    "energy_manager"
   ],
   "version": "v0.14.3",
   "ref": "refs/tags/v0.14.3",
   "stargazers_count": 1,
   "repo_url": "https://github.com/jyourstone/energy_manager",
   "scanned_utc": "2026-08-10T03:59:01Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/energy_manager/entity.py",
     "line": 119,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/energy_manager/entity.py",
     "line": 160,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "kohai-ut/centralite-ha",
   "domain": "centralite",
   "domains": [
    "centralite"
   ],
   "version": "v2.0.1",
   "ref": "refs/tags/v2.0.1",
   "stargazers_count": 1,
   "repo_url": "https://github.com/kohai-ut/centralite-ha",
   "scanned_utc": "2026-08-10T03:59:37Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/centralite/coordinator.py",
     "line": 214,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "LuckyTriple7/ha-strato-dyndns",
   "domain": "strato_dyndns",
   "domains": [
    "strato_dyndns"
   ],
   "version": "v1.1.0",
   "ref": "refs/tags/v1.1.0",
   "stargazers_count": 1,
   "repo_url": "https://github.com/LuckyTriple7/ha-strato-dyndns",
   "scanned_utc": "2026-08-08T05:07:59Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/strato_dyndns/binary_sensor.py",
     "line": 41,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/strato_dyndns/sensor.py",
     "line": 46,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Manschitz/brunner-eas-integration",
   "domain": "brunner_eas",
   "domains": [
    "brunner_eas"
   ],
   "version": "v1.0.0",
   "ref": "refs/tags/v1.0.0",
   "stargazers_count": 1,
   "repo_url": "https://github.com/Manschitz/brunner-eas-integration",
   "scanned_utc": "2026-08-08T05:08:14Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/brunner_eas/coordinator.py",
     "line": 154,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "NemoN/ha-chuango-ov300",
   "domain": "chuango_alarm",
   "domains": [
    "chuango_alarm"
   ],
   "version": "0.5.3",
   "ref": "refs/tags/0.5.3",
   "stargazers_count": 1,
   "repo_url": "https://github.com/NemoN/ha-chuango-ov300",
   "scanned_utc": "2026-08-08T05:09:09Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/chuango_alarm/binary_sensor.py",
     "line": 245,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/chuango_alarm/binary_sensor.py",
     "line": 258,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/chuango_alarm/binary_sensor.py",
     "line": 363,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/chuango_alarm/binary_sensor.py",
     "line": 375,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/chuango_alarm/select.py",
     "line": 245,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/chuango_alarm/switch.py",
     "line": 308,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "nilisos/hass-lisios-bridge",
   "domain": "lisios",
   "domains": [
    "lisios"
   ],
   "version": "v1.0.1",
   "ref": "refs/tags/v1.0.1",
   "stargazers_count": 1,
   "repo_url": "https://github.com/nilisos/hass-lisios-bridge",
   "scanned_utc": "2026-08-11T03:56:19Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lisios/coordinator.py",
     "line": 69,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/lisios/coordinator.py",
     "line": 71,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Proxy-alt/cync-lan",
   "domain": "cync_lan",
   "domains": [
    "cync_lan"
   ],
   "version": "v2.10.2",
   "ref": "refs/tags/v2.10.2",
   "stargazers_count": 1,
   "repo_url": "https://github.com/Proxy-alt/cync-lan",
   "scanned_utc": "2026-08-08T05:11:12Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/cync_lan/__init__.py",
     "line": 427,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/cync_lan/entity.py",
     "line": 35,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "sbstn-0x2a/ha_froeling_modbus",
   "domain": "froeling_s3200_modbus",
   "domains": [
    "froeling_s3200_modbus"
   ],
   "version": "v0.3.5",
   "ref": "refs/tags/v0.3.5",
   "stargazers_count": 1,
   "repo_url": "https://github.com/sbstn-0x2a/ha_froeling_modbus",
   "scanned_utc": "2026-08-12T04:00:05Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/froeling_s3200_modbus/__init__.py",
     "line": 119,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Sdavid66/Meteo-Sentinelle",
   "domain": "meteo_sentinelle",
   "domains": [
    "meteo_sentinelle"
   ],
   "version": "v1.0.2",
   "ref": "refs/tags/v1.0.2",
   "stargazers_count": 1,
   "repo_url": "https://github.com/Sdavid66/Meteo-Sentinelle",
   "scanned_utc": "2026-08-08T05:12:02Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/meteo_sentinelle/entity.py",
     "line": 28,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "simplytoast1/ha-unifi-sensors",
   "domain": "unifi_protect_sensors",
   "domains": [
    "unifi_protect_sensors"
   ],
   "version": "v0.5.1",
   "ref": "refs/tags/v0.5.1",
   "stargazers_count": 1,
   "repo_url": "https://github.com/simplytoast1/ha-unifi-sensors",
   "scanned_utc": "2026-08-12T04:00:31Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_protect_sensors/__init__.py",
     "line": 62,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_protect_sensors/__init__.py",
     "line": 89,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "skircr115/ha-verizonFiOS",
   "domain": "verizon_fios",
   "domains": [
    "verizon_fios"
   ],
   "version": "v1.2.1",
   "ref": "refs/tags/v1.2.1",
   "stargazers_count": 1,
   "repo_url": "https://github.com/skircr115/ha-verizonFiOS",
   "scanned_utc": "2026-08-12T04:00:36Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/verizon_fios/sensor.py",
     "line": 61,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/verizon_fios/sensor.py",
     "line": 895,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/verizon_fios/sensor.py",
     "line": 907,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "smarthomeshop/home-assistant-integration",
   "domain": "smarthomeshop",
   "domains": [
    "smarthomeshop"
   ],
   "version": "v1.11.1",
   "ref": "refs/tags/v1.11.1",
   "stargazers_count": 1,
   "repo_url": "https://github.com/smarthomeshop/home-assistant-integration",
   "scanned_utc": "2026-08-12T04:00:44Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "core-call-async-remove-helper-config-entry-from-source-device",
     "breaks_in": "2027.8",
     "file": "custom_components/smarthomeshop/device_linking.py",
     "line": 261,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "SmartServicePL/worx_vision_cloud_plus_github",
   "domain": "worx_vision_cloud",
   "domains": [
    "worx_vision_cloud"
   ],
   "version": "1.3.1",
   "ref": "refs/tags/1.3.1",
   "stargazers_count": 1,
   "repo_url": "https://github.com/SmartServicePL/worx_vision_cloud_plus_github",
   "scanned_utc": "2026-08-08T05:12:28Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/worx_vision_cloud/__init__.py",
     "line": 288,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "stuartp44/haduco",
   "domain": "duco_ventilation_sun_control",
   "domains": [
    "duco_ventilation_sun_control"
   ],
   "version": "v1.10.0",
   "ref": "refs/tags/v1.10.0",
   "stargazers_count": 1,
   "repo_url": "https://github.com/stuartp44/haduco",
   "scanned_utc": "2026-08-12T04:01:27Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duco_ventilation_sun_control/select.py",
     "line": 166,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duco_ventilation_sun_control/sensor.py",
     "line": 442,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/duco_ventilation_sun_control/sensor.py",
     "line": 560,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "switch180/RiverLink-SDVoE",
   "domain": "sdvoe",
   "domains": [
    "sdvoe"
   ],
   "version": "0.3.3",
   "ref": "refs/tags/0.3.3",
   "stargazers_count": 1,
   "repo_url": "https://github.com/switch180/RiverLink-SDVoE",
   "scanned_utc": "2026-08-12T04:01:40Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sdvoe/select.py",
     "line": 104,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "tcareyintx/skybellgen",
   "domain": "skybellgen",
   "domains": [
    "skybellgen"
   ],
   "version": "0.3.6",
   "ref": "refs/tags/0.3.6",
   "stargazers_count": 1,
   "repo_url": "https://github.com/tcareyintx/skybellgen",
   "scanned_utc": "2026-08-12T04:01:47Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/skybellgen/coordinator.py",
     "line": 123,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/skybellgen/coordinator.py",
     "line": 130,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "TexhFexLabs/hydronode-homeassistant",
   "domain": "hydronode",
   "domains": [
    "hydronode"
   ],
   "version": "v0.3.1",
   "ref": "refs/tags/v0.3.1",
   "stargazers_count": 1,
   "repo_url": "https://github.com/TexhFexLabs/hydronode-homeassistant",
   "scanned_utc": "2026-08-08T05:13:01Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/hydronode/__init__.py",
     "line": 173,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "thisisthetechie/home-assistant-sickgear",
   "domain": "sickgear",
   "domains": [
    "sickgear"
   ],
   "version": "Release_0.0.1a",
   "ref": "refs/tags/Release_0.0.1a",
   "stargazers_count": 1,
   "repo_url": "https://github.com/thisisthetechie/home-assistant-sickgear",
   "scanned_utc": "2026-08-12T04:02:01Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sickgear/__init__.py",
     "line": 119,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "tinkerborg/homeassistant-invisoutlet",
   "domain": "invisoutlet",
   "domains": [
    "invisoutlet"
   ],
   "version": "v1.1.0",
   "ref": "refs/tags/v1.1.0",
   "stargazers_count": 1,
   "repo_url": "https://github.com/tinkerborg/homeassistant-invisoutlet",
   "scanned_utc": "2026-08-12T04:02:20Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/invisoutlet/__init__.py",
     "line": 73,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/invisoutlet/light.py",
     "line": 317,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "tom-tagmdl/asset_intelligence",
   "domain": "asset_intelligence",
   "domains": [
    "asset_intelligence"
   ],
   "version": "v1.0.12",
   "ref": "refs/tags/v1.0.12",
   "stargazers_count": 1,
   "repo_url": "https://github.com/tom-tagmdl/asset_intelligence",
   "scanned_utc": "2026-08-12T04:02:24Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/asset_intelligence/__init__.py",
     "line": 265,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/asset_intelligence/__init__.py",
     "line": 1471,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/asset_intelligence/__init__.py",
     "line": 3345,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/asset_intelligence/coordinator.py",
     "line": 90,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/asset_intelligence/coordinator.py",
     "line": 125,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/asset_intelligence/coordinator.py",
     "line": 136,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "anakinch75/Studer-Innotec-next3-HA",
   "domain": "studer_next3",
   "domains": [
    "studer_next3"
   ],
   "version": "v0.9.0",
   "ref": "refs/tags/v0.9.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/anakinch75/Studer-Innotec-next3-HA",
   "scanned_utc": "2026-08-08T05:16:16Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/studer_next3/sensor.py",
     "line": 44,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "andrewtryder/ha-iguardstove",
   "domain": "iguardstove",
   "domains": [
    "iguardstove"
   ],
   "version": "v1.7.1",
   "ref": "refs/tags/v1.7.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/andrewtryder/ha-iguardstove",
   "scanned_utc": "2026-08-08T05:16:37Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/iguardstove/coordinator.py",
     "line": 128,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/iguardstove/coordinator.py",
     "line": 130,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "buchuman/hisense_vrf",
   "domain": "hisense_vrf",
   "domains": [
    "hisense_vrf"
   ],
   "version": "v1.4.0",
   "ref": "refs/tags/v1.4.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/buchuman/hisense_vrf",
   "scanned_utc": "2026-08-08T05:19:29Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hisense_vrf/entity.py",
     "line": 63,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/hisense_vrf/entity.py",
     "line": 124,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "C-Damo/uniview-nvr-events",
   "domain": "uniview_lapi",
   "domains": [
    "uniview_lapi"
   ],
   "version": "v0.3.0",
   "ref": "refs/tags/v0.3.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/C-Damo/uniview-nvr-events",
   "scanned_utc": "2026-08-13T04:28:02Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/uniview_lapi/entity.py",
     "line": 72,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "colings/synology_virtual_album",
   "domain": "synology_virtual_album",
   "domains": [
    "synology_virtual_album"
   ],
   "version": "v1.0.1",
   "ref": "refs/tags/v1.0.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/colings/synology_virtual_album",
   "scanned_utc": "2026-08-08T05:21:21Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/synology_virtual_album/synology_photos.py",
     "line": 51,
     "confidence": "high"
    },
    {
     "rule_id": "device-entry-primary-config-entry",
     "breaks_in": "2027.8",
     "file": "custom_components/synology_virtual_album/synology_photos.py",
     "line": 53,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "CountTogether/home-assistant-integration",
   "domain": "counttogether",
   "domains": [
    "counttogether"
   ],
   "version": "v1.0.1",
   "ref": "refs/tags/v1.0.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/CountTogether/home-assistant-integration",
   "scanned_utc": "2026-08-13T04:28:35Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/counttogether/coordinator.py",
     "line": 142,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "dale-sharp/sa-fuel-homeassistant",
   "domain": "sa_fuel_pricing",
   "domains": [
    "sa_fuel_pricing"
   ],
   "version": "v1.1.9",
   "ref": "refs/tags/v1.1.9",
   "stargazers_count": 0,
   "repo_url": "https://github.com/dale-sharp/sa-fuel-homeassistant",
   "scanned_utc": "2026-08-09T03:52:00Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/sa_fuel_pricing/coordinator.py",
     "line": 255,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/sa_fuel_pricing/coordinator.py",
     "line": 260,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "DiUS/homeassistant-powersensor",
   "domain": "powersensor",
   "domains": [
    "powersensor"
   ],
   "version": "v1.0.1",
   "ref": "refs/tags/v1.0.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/DiUS/homeassistant-powersensor",
   "scanned_utc": "2026-08-13T04:29:11Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/powersensor/PowersensorEntity.py",
     "line": 108,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "DMedina559/bsm-home-assistant-integration",
   "domain": "bedrock_server_manager",
   "domains": [
    "bedrock_server_manager"
   ],
   "version": "0.18.0",
   "ref": "refs/tags/0.18.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/DMedina559/bsm-home-assistant-integration",
   "scanned_utc": "2026-08-13T04:28:50Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bedrock_server_manager/button.py",
     "line": 277,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bedrock_server_manager/options_flow.py",
     "line": 350,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/bedrock_server_manager/options_flow.py",
     "line": 363,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bedrock_server_manager/sensor.py",
     "line": 405,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bedrock_server_manager/sensor.py",
     "line": 588,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bedrock_server_manager/services.py",
     "line": 701,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bedrock_server_manager/switch.py",
     "line": 248,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bedrock_server_manager/switch.py",
     "line": 459,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/bedrock_server_manager/switch.py",
     "line": 510,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "dneprojects/habitron",
   "domain": "habitron",
   "domains": [
    "habitron"
   ],
   "version": "v3.2.0",
   "ref": "refs/tags/v3.2.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/dneprojects/habitron",
   "scanned_utc": "2026-08-09T03:52:53Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/habitron/smart_hub.py",
     "line": 197,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/habitron/smart_hub.py",
     "line": 208,
     "confidence": "medium"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/habitron/smart_hub.py",
     "line": 215,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/habitron/smart_hub.py",
     "line": 229,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "eccel-dev/ha-pepper-c1",
   "domain": "pepper_c1",
   "domains": [
    "pepper_c1"
   ],
   "version": "v2.0.3",
   "ref": "refs/tags/v2.0.3",
   "stargazers_count": 0,
   "repo_url": "https://github.com/eccel-dev/ha-pepper-c1",
   "scanned_utc": "2026-08-09T03:53:11Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pepper_c1/__init__.py",
     "line": 284,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "elad-sudo/domiara-ha",
   "domain": "domiara",
   "domains": [
    "domiara"
   ],
   "version": "v1.0.1",
   "ref": "refs/tags/v1.0.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/elad-sudo/domiara-ha",
   "scanned_utc": "2026-08-09T03:53:17Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/domiara/entity.py",
     "line": 37,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/domiara/scene.py",
     "line": 53,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "EVWorth/hass-adtpulse",
   "domain": "adtpulse",
   "domains": [
    "adtpulse"
   ],
   "version": "0.7.3",
   "ref": "refs/tags/0.7.3",
   "stargazers_count": 0,
   "repo_url": "https://github.com/EVWorth/hass-adtpulse",
   "scanned_utc": "2026-08-08T05:03:55Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/adtpulse/alarm_control_panel.py",
     "line": 133,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/adtpulse/binary_sensor.py",
     "line": 249,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "geertmeersman/miwa",
   "domain": "miwa",
   "domains": [
    "miwa"
   ],
   "version": "v1.1.0",
   "ref": "refs/tags/v1.1.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/geertmeersman/miwa",
   "scanned_utc": "2026-08-09T03:54:29Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/miwa/__init__.py",
     "line": 159,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "ggiesen/ha-aprilaire-rs485",
   "domain": "aprilaire_rs485",
   "domains": [
    "aprilaire_rs485"
   ],
   "version": "v0.2.0",
   "ref": "refs/tags/v0.2.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/ggiesen/ha-aprilaire-rs485",
   "scanned_utc": "2026-08-09T03:54:35Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/aprilaire_rs485/coordinator.py",
     "line": 363,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "hitchin999/GAFVentControl-HA",
   "domain": "gaf_masterflow",
   "domains": [
    "gaf_masterflow"
   ],
   "version": "v1.1.0",
   "ref": "refs/tags/v1.1.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/hitchin999/GAFVentControl-HA",
   "scanned_utc": "2026-08-10T03:56:48Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/gaf_masterflow/coordinator.py",
     "line": 51,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "hoechstleistungshaartrockner/simplechores",
   "domain": "simplechores",
   "domains": [
    "simplechores"
   ],
   "version": "v1.0.11",
   "ref": "refs/tags/v1.0.11",
   "stargazers_count": 0,
   "repo_url": "https://github.com/hoechstleistungshaartrockner/simplechores",
   "scanned_utc": "2026-08-10T03:56:55Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/date.py",
     "line": 83,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/number.py",
     "line": 110,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/options_flow.py",
     "line": 366,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/options_flow.py",
     "line": 1085,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/options_flow.py",
     "line": 1236,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/options_flow.py",
     "line": 1293,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/options_flow.py",
     "line": 1442,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/select.py",
     "line": 92,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/select.py",
     "line": 224,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/select.py",
     "line": 342,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/sensor.py",
     "line": 149,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/sensor.py",
     "line": 414,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/tests/test_init.py",
     "line": 36,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/simplechores/tests/test_init.py",
     "line": 45,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Identity-labs/ha-maison-protegee2",
   "domain": "maison_protegee",
   "domains": [
    "maison_protegee"
   ],
   "version": "v2.2.7",
   "ref": "refs/tags/v2.2.7",
   "stargazers_count": 0,
   "repo_url": "https://github.com/Identity-labs/ha-maison-protegee2",
   "scanned_utc": "2026-08-08T05:06:09Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/maison_protegee/entity.py",
     "line": 63,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "jacobbjerregaard/homeassistant-growatt-modbus",
   "domain": "growatt_modbus",
   "domains": [
    "growatt_modbus"
   ],
   "version": "v0.21.0",
   "ref": "refs/tags/v0.21.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/jacobbjerregaard/homeassistant-growatt-modbus",
   "scanned_utc": "2026-08-10T03:57:42Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/growatt_modbus/sensor.py",
     "line": 195,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "LocknAlert-Pty-LTD/locknalert_mqtt",
   "domain": "locknalert_mqtt",
   "domains": [
    "locknalert_mqtt"
   ],
   "version": "0.1.0",
   "ref": "refs/tags/0.1.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/LocknAlert-Pty-LTD/locknalert_mqtt",
   "scanned_utc": "2026-08-08T05:07:55Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/locknalert_mqtt/entity.py",
     "line": 1314,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/locknalert_mqtt/util.py",
     "line": 679,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "maginawin/ha-azoula-smart",
   "domain": "sunricher_azoula",
   "domains": [
    "sunricher_azoula"
   ],
   "version": "v0.1.1",
   "ref": "refs/tags/v0.1.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/maginawin/ha-azoula-smart",
   "scanned_utc": "2026-08-11T03:53:20Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/sunricher_azoula/__init__.py",
     "line": 55,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "mickeyschwab/haven-hass",
   "domain": "haven_lighting",
   "domains": [
    "haven_lighting"
   ],
   "version": "0.4.1",
   "ref": "refs/tags/0.4.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/mickeyschwab/haven-hass",
   "scanned_utc": "2026-08-11T03:54:52Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/haven_lighting/light.py",
     "line": 54,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "mindors/hass-mindor-cloud",
   "domain": "mindor_cloud",
   "domains": [
    "mindor_cloud"
   ],
   "version": "v1.0.1",
   "ref": "refs/tags/v1.0.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/mindors/hass-mindor-cloud",
   "scanned_utc": "2026-08-11T03:55:02Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/mindor_cloud/__init__.py",
     "line": 73,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "pa-martin/ha-pandascore",
   "domain": "pandascore",
   "domains": [
    "pandascore"
   ],
   "version": "v1.1.0",
   "ref": "refs/tags/v1.1.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/pa-martin/ha-pandascore",
   "scanned_utc": "2026-08-11T03:56:57Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/pandascore/config_flow.py",
     "line": 224,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-config-entry-mutation-params",
     "breaks_in": "2027.8",
     "file": "custom_components/pandascore/config_flow.py",
     "line": 227,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "peha1983/ha-ynblue",
   "domain": "ynblue",
   "domains": [
    "ynblue"
   ],
   "version": "v0.3.1",
   "ref": "refs/tags/v0.3.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/peha1983/ha-ynblue",
   "scanned_utc": "2026-08-11T03:57:07Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/ynblue/client.py",
     "line": 118,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Perhan35/hass-adam-audio-control",
   "domain": "adam_audio",
   "domains": [
    "adam_audio"
   ],
   "version": "v0.4.0",
   "ref": "refs/tags/v0.4.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/Perhan35/hass-adam-audio-control",
   "scanned_utc": "2026-08-08T05:10:33Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/adam_audio/__init__.py",
     "line": 170,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/adam_audio/__init__.py",
     "line": 172,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "romuluz/thewashguide-homeassistant",
   "domain": "thewashguide",
   "domains": [
    "thewashguide"
   ],
   "version": "v0.4.3",
   "ref": "refs/tags/v0.4.3",
   "stargazers_count": 0,
   "repo_url": "https://github.com/romuluz/thewashguide-homeassistant",
   "scanned_utc": "2026-08-12T03:59:18Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/thewashguide/__init__.py",
     "line": 194,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "Shaffer-Softworks/GlobalCache",
   "domain": "globalcache_itach",
   "domains": [
    "globalcache_itach"
   ],
   "version": "v1.0.3",
   "ref": "refs/tags/v1.0.3",
   "stargazers_count": 0,
   "repo_url": "https://github.com/Shaffer-Softworks/GlobalCache",
   "scanned_utc": "2026-08-08T05:12:12Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/globalcache_itach/device_util.py",
     "line": 114,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "silenthooligan/localsky-ha",
   "domain": "localsky",
   "domains": [
    "localsky"
   ],
   "version": "v0.7.11",
   "ref": "refs/tags/v0.7.11",
   "stargazers_count": 0,
   "repo_url": "https://github.com/silenthooligan/localsky-ha",
   "scanned_utc": "2026-08-12T04:00:29Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/localsky/util.py",
     "line": 181,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/localsky/util.py",
     "line": 199,
     "confidence": "high"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/localsky/util.py",
     "line": 233,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "superbox-dev/netzooe_eservice",
   "domain": "netzooe_eservice",
   "domains": [
    "netzooe_eservice"
   ],
   "version": "v1.0.1",
   "ref": "refs/tags/v1.0.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/superbox-dev/netzooe_eservice",
   "scanned_utc": "2026-08-12T04:01:31Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/netzooe_eservice/sensor.py",
     "line": 111,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "svalsemey/hassio-lifedomus",
   "domain": "lifedomus",
   "domains": [
    "lifedomus"
   ],
   "version": "v0.0.8",
   "ref": "refs/tags/v0.0.8",
   "stargazers_count": 0,
   "repo_url": "https://github.com/svalsemey/hassio-lifedomus",
   "scanned_utc": "2026-08-12T04:01:34Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/lifedomus/helpers.py",
     "line": 44,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "Tadiern/climaveneta",
   "domain": "climaveneta",
   "domains": [
    "climaveneta"
   ],
   "version": "v1.1.2",
   "ref": "refs/tags/v1.1.2",
   "stargazers_count": 0,
   "repo_url": "https://github.com/Tadiern/climaveneta",
   "scanned_utc": "2026-08-08T05:12:53Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/climaveneta/__init__.py",
     "line": 89,
     "confidence": "medium"
    },
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/climaveneta/__init__.py",
     "line": 92,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "TimMixedIt/unifi-etherlighting",
   "domain": "unifi_etherlighting",
   "domains": [
    "unifi_etherlighting"
   ],
   "version": "v0.5.1",
   "ref": "refs/tags/v0.5.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/TimMixedIt/unifi-etherlighting",
   "scanned_utc": "2026-08-08T05:13:19Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_etherlighting/number.py",
     "line": 97,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_etherlighting/select.py",
     "line": 79,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/unifi_etherlighting/switch.py",
     "line": 80,
     "confidence": "high"
    }
   ]
  },
  {
   "full_name": "UPGRAITgmbh/ha-upgrait-heatcontrol",
   "domain": "upgrait_heatcontrol",
   "domains": [
    "upgrait_heatcontrol"
   ],
   "version": "v0.2.1",
   "ref": "refs/tags/v0.2.1",
   "stargazers_count": 0,
   "repo_url": "https://github.com/UPGRAITgmbh/ha-upgrait-heatcontrol",
   "scanned_utc": "2026-08-08T05:13:38Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/upgrait_heatcontrol/device_metadata.py",
     "line": 38,
     "confidence": "medium"
    }
   ]
  },
  {
   "full_name": "vitkuv/cyrus-one-hass",
   "domain": "cyrus_one",
   "domains": [
    "cyrus_one"
   ],
   "version": "v1.0.4",
   "ref": "refs/tags/v1.0.4",
   "stargazers_count": 0,
   "repo_url": "https://github.com/vitkuv/cyrus-one-hass",
   "scanned_utc": "2026-08-13T04:25:29Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-registry-async-get-device",
     "breaks_in": "2027.8",
     "file": "custom_components/cyrus_one/coordinator.py",
     "line": 299,
     "confidence": "medium"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "async_get_device"
   }
  },
  {
   "full_name": "vlioscz/is3-export",
   "domain": "is3_export",
   "domains": [
    "is3_export"
   ],
   "version": "0.2.5",
   "ref": "refs/tags/0.2.5",
   "stargazers_count": 0,
   "repo_url": "https://github.com/vlioscz/is3-export",
   "scanned_utc": "2026-08-13T04:25:31Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/is3_export/entity.py",
     "line": 57,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  },
  {
   "full_name": "yodax/ha-scaleway",
   "domain": "scaleway",
   "domains": [
    "scaleway"
   ],
   "version": "v1.0.0",
   "ref": "refs/tags/v1.0.0",
   "stargazers_count": 0,
   "repo_url": "https://github.com/yodax/ha-scaleway",
   "scanned_utc": "2026-08-13T04:26:20Z",
   "earliest_breaks_in": "2027.8",
   "findings": [
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/scaleway/sensor.py",
     "line": 198,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/scaleway/sensor.py",
     "line": 241,
     "confidence": "high"
    },
    {
     "rule_id": "device-info-via-device",
     "breaks_in": "2027.8",
     "file": "custom_components/scaleway/sensor.py",
     "line": 284,
     "confidence": "high"
    }
   ],
   "upstream": {
    "archived": false,
    "issues_enabled": true,
    "symbol": "via_device"
   }
  }
 ],
 "clean_domains": [
  "2n_intercom",
  "aarlo",
  "ab_ble_gateway",
  "abc_council_bin_collection",
  "abetterrouteplanner",
  "abfallapi_jumomind",
  "abfallapi_regioit",
  "ac_infinity_airtap_ble",
  "acer_air_monitor",
  "acit",
  "actron_air_esphome",
  "actualbudget",
  "acv",
  "adaptive_lighting",
  "adax",
  "additional_ca",
  "adjustable_bed",
  "advanced_history",
  "advanced_presence_detection",
  "advanced_snapshot",
  "advanced_switches",
  "aemet",
  "aemo_nem",
  "afvalbeheer",
  "afvalinfo",
  "afvalwijzer",
  "agere_water",
  "aguaiot",
  "aguasdegaia",
  "agui_agent",
  "aha_trash",
  "ai_agent_ha",
  "ai_automation_suggester",
  "aimp",
  "air_sviva",
  "airbnk_ble",
  "airco2ntrol",
  "airgradient_public",
  "airmusic",
  "airpack_home",
  "airthings_wave",
  "airtouch4_advanced",
  "airversa_diffuser",
  "airvpn",
  "airwatch",
  "airzoneclouddaikin",
  "ajax_uart",
  "akuvox",
  "alarmdotcom",
  "alarmo",
  "album_slideshow",
  "aldi_talk",
  "alert2",
  "alertsys",
  "alexa_media",
  "alfen_modbus",
  "aliexpress_package_tracker",
  "aliyun_bailian_tts",
  "allsvenskan",
  "alphaess_modbus",
  "als_enigma2_epg",
  "als_sundance_marin",
  "altruist",
  "amateur_radio_propagation",
  "amazon_cloudwatch",
  "amazon_order_status",
  "amazon_price_tracker",
  "amazon_rekognition",
  "ambeo_soundbar",
  "amber_express",
  "amberelectric",
  "ambientika",
  "amc_alarm",
  "american_standard_comfortlink",
  "amerigas",
  "amit",
  "amphiro_ble",
  "ampvortex",
  "ams",
  "amshan",
  "amtab_bari",
  "andrews_arnold_quota",
  "ankama_status",
  "anniversaries",
  "anniversary",
  "annuals",
  "anona_holo",
  "anova_nano",
  "antistorm",
  "antminer",
  "anwb_energy",
  "anycubic_cloud_connect",
  "anycubic_kobra_x_lan",
  "anylist",
  "apc_modbus",
  "apc_pdu",
  "apex",
  "apparent_temperature",
  "appartme",
  "apple_music",
  "appwash",
  "apsystems_ecu_reader",
  "aqara_camera_2_way_audio",
  "aqua_illumination",
  "aquahawk",
  "aquamedic",
  "aquanta",
  "aquarea",
  "aquarium_ai",
  "aquastilla_softener",
  "aquilo",
  "argus",
  "aria2",
  "ariston",
  "arpa_lombardia",
  "arpscan_tracker",
  "arso_potresi",
  "artemis_rgb",
  "artsauna_ble",
  "aseko_cloud",
  "aseko_local",
  "askoheat",
  "assist_canonicalizer",
  "assist_color_temp",
  "astrobox",
  "astroweather",
  "atagone",
  "ather",
  "athletic_fitness_bg",
  "atmo",
  "atmofrance",
  "atomberg",
  "atrea",
  "attributes",
  "aucklandcouncil",
  "audac_mtx",
  "audiconnect",
  "aula",
  "aula_easyiq",
  "aurum",
  "aus_space_weather",
  "auth_oidc",
  "auto_areas",
  "auto_backup",
  "auto_utility_meter",
  "autoarm",
  "autosnooze",
  "aux_cloud",
  "avalon_nano3s",
  "avanza_stock",
  "average",
  "avfallsor",
  "aviationweather",
  "avinor_flight_data",
  "awnet_local",
  "aws_codepipeline",
  "aws_cost",
  "awtrix",
  "axaremote",
  "aximote",
  "axpert_inverter",
  "azimut_energy",
  "azrouter",
  "azure_ai_tasks",
  "azure_openai_conversation",
  "azure_speech_stt",
  "babybuddy",
  "backup_monitor",
  "baillclim",
  "balance_neto",
  "bapiwireless",
  "bardolph",
  "base_power",
  "basestation",
  "battery_consumption",
  "battery_devices_monitor",
  "battery_monitor",
  "battery_smartflow_ai",
  "bayernluefter",
  "bayrol",
  "bazos_crawler",
  "beatify",
  "becker_centralcontrol_has",
  "bedjet",
  "behome",
  "belgium_energy_costs",
  "bemfa",
  "bemfa_cloud",
  "benqprojector",
  "beolink",
  "beoplay",
  "bergfex",
  "berluf_selen_2",
  "bermuda",
  "bernerbox",
  "best_bottrop_garbage_collection",
  "beszel_api",
  "better_thermostat",
  "bev_insights",
  "beward",
  "bewave",
  "bft",
  "bgg_sync",
  "bilresa_updater",
  "bin_day",
  "binance",
  "bindicator",
  "binformed",
  "bing_wallpaper",
  "birdfy",
  "birdie",
  "bituopmd",
  "bkk_stop",
  "blanco_unit",
  "blauberg_s21",
  "ble_adjustable_bed",
  "ble_adv",
  "blebox_shutterbox_tilt",
  "blinds_controller",
  "blitzer",
  "bloomin8_eink_canvas",
  "blossom_be",
  "bluebubbles",
  "blueprint_studio",
  "blueprints_updater",
  "bluesky",
  "bluesky_feed",
  "bluesound_alt",
  "bluetti_bt",
  "blynk",
  "bm6",
  "bmr_hc64",
  "bmw_wallbox",
  "bobcatminer",
  "bodymiscale",
  "bodypetscale",
  "boi_exchange_rates",
  "boiler_controller",
  "bolletta",
  "bonaire_myclimate",
  "boneco",
  "bonusdrive",
  "bookstack",
  "bookstack_sync",
  "bopi",
  "bosch_ebike",
  "bosso",
  "boulderwelt",
  "bouncie",
  "bps",
  "braava_240_ble",
  "bradford_white_connect",
  "brandriskute",
  "brandstofprijzen",
  "braviatv_psk",
  "brematic",
  "brewcreator",
  "brewdog",
  "brewfather",
  "brink_ventilation",
  "broadlink_s1c",
  "brother_scanner",
  "bsh",
  "bticino_x8000",
  "bubble_card_tools",
  "budgetthuis",
  "bulk_entity_editor",
  "bunq",
  "burze_dzis_net",
  "busminder",
  "busvertrektijden",
  "button_builder",
  "bwalarm",
  "bwt_aqa_perla_ble",
  "bwt_cosmy",
  "byd_hvs",
  "cable_modem_monitor",
  "calendar_event",
  "calendar_merge",
  "callattendantnext_monitor",
  "calorie_tracker",
  "camect",
  "cameralux",
  "canadapost",
  "candy",
  "canvas_student",
  "car_maintenance",
  "car_wash",
  "carbon_intensity_uk",
  "card_builder",
  "cardiffwaste",
  "carelink",
  "carousel",
  "casambi_mqtt",
  "cat_scale",
  "catholic_calendar",
  "cctvql",
  "cecotec_conga",
  "celcat_calendar",
  "central_hudson",
  "centrometal_boiler",
  "cez",
  "cez_hdo",
  "cezdistribuce",
  "cfl_commute",
  "cfr",
  "chameleon",
  "channels_dvr_recently_recorded",
  "chargeamps",
  "chargecloud",
  "chargepoint",
  "cheapest_energy_windows",
  "check_weather",
  "checkiday",
  "chefkoch_ha",
  "chime_tts",
  "china_southern_power_grid_stat",
  "chmi_hydrology",
  "chmu",
  "choremander",
  "chroma",
  "chronotask",
  "cielo_home",
  "circadian_lighting",
  "citibike",
  "city_visitor_parking",
  "clage_homeserver",
  "clash_controller",
  "clash_royale",
  "classcharts",
  "classificationbox",
  "claude_chat",
  "claude_ha",
  "claude_pulse",
  "clausius",
  "clean_up_snapshots_service",
  "cleveroom",
  "clickpi_garage_door",
  "clientraw",
  "climacell",
  "climate_group_helper",
  "climate_ip",
  "climate_scheduler",
  "clockwork",
  "cloudflare_ai_gateway",
  "cloudflare_speed_test",
  "cloudflare_tunnel_monitor",
  "clouding",
  "cloudlibrary",
  "cloudstash",
  "cloudweatherproxy",
  "cn_im_hub",
  "codex_cli",
  "color_notify",
  "colorfulclouds",
  "comair_modbus",
  "combined_notifications",
  "combustion",
  "comelit",
  "comfoair",
  "compal_wifi",
  "companies_house",
  "companion_media_player",
  "config_editor",
  "connection_observer",
  "connectlife",
  "consul",
  "consumable_tracker",
  "containercleaning",
  "controlid",
  "controllable",
  "conversation_router",
  "cortex_stt",
  "cosa_thermostat",
  "couchpotato",
  "cover_time_based",
  "cover_time_based_synced",
  "coway",
  "cozify_han",
  "cozylife_local",
  "creasoldombus",
  "crestron_home",
  "cronicle",
  "crt_notices",
  "crunch_o_meter",
  "cryptoinfo",
  "cryptoinfo_advanced",
  "cryptostate",
  "csgo_gamestate",
  "cubecoders",
  "cuk_wifi_ha",
  "culiplan",
  "cummins_generator",
  "cumtd_bus",
  "cup_component",
  "current",
  "currentcost",
  "cursbnr",
  "custom_ambilight",
  "custom_component_monitor",
  "custom_icons",
  "custom_local_icons",
  "custom_templates",
  "custom_universal_media_player",
  "cvnet",
  "cyberpower_modbus",
  "cyberpower_pdu",
  "cyclepay",
  "cz_energy_spot_prices",
  "dabblerdk_powermeterreader",
  "dabpumps",
  "dahua",
  "dahua_vto",
  "daikin_airbase_hotwater",
  "daikin_altherma",
  "daikin_br",
  "daikin_d3net",
  "daikin_ha_ekrhh_modbus",
  "daikin_madoka",
  "daikin_onecta",
  "daily",
  "daily_fingerpori",
  "daily_hadith",
  "daily_schedule",
  "dali2_iot",
  "danelfin",
  "danfoss_ally",
  "danfoss_eco",
  "danfoss_tlx",
  "dantherm",
  "darksky_m",
  "dash_bouncer",
  "dashsnap",
  "datadog_agentless",
  "davis_weatherlink_live",
  "db_info",
  "db_infoscreen",
  "ddns",
  "deco_panel",
  "deddie_metering",
  "deepgram_tts",
  "defa_balancer",
  "delawareoh_refuse",
  "dell_idrac_fan_control",
  "dell_printer",
  "delonghi_coffeelink",
  "deltasol",
  "demand_control",
  "denkovi",
  "denon_avr_3805",
  "dess_monitor",
  "dessmonitor",
  "devialet",
  "device_saver",
  "devtools",
  "dewarmte",
  "deye_dehumidifier",
  "dial_tap",
  "dibby_wemo",
  "diematic_3_c230_eco",
  "digital_pendulum",
  "digitalpour",
  "digitransit",
  "dijnet",
  "discord_game",
  "discord_webhook",
  "diskspace",
  "display_tools",
  "diveracontrol",
  "divoom",
  "divoom_pixoo",
  "djv_meter",
  "dlink_hnap",
  "dnsdist",
  "dobiss",
  "docker_lens",
  "docker_status",
  "dolphin",
  "domoticz_sync",
  "domru",
  "doom",
  "doorman",
  "dorsalwatch",
  "dpc",
  "dpd",
  "dreame_lawn_mower",
  "dreame_vacuum",
  "dremel_3d_printer",
  "dreo",
  "drkblutspende",
  "drone_mobile",
  "drooff_fireplus",
  "drugstore_stock",
  "dte_rates",
  "dual_logic_thermostat",
  "dud_shemesh",
  "duepi_evo",
  "duolingo",
  "duux",
  "dvla",
  "dwains_dashboard",
  "dwd",
  "dwd_pollenflug",
  "dwd_precipitation",
  "dwd_precipitation_forecast",
  "dwd_weather",
  "dynamic_weather",
  "dyson_local",
  "e3dc_rscp_connect",
  "e_thermostaat",
  "eafm_enhanced",
  "easee",
  "easy_stock",
  "easycontrols",
  "easylog_cloud",
  "eaton_ups_mqtt",
  "eaton_upsc",
  "ebeco",
  "ebus_direct",
  "echonet_lite",
  "echonetlite",
  "ecobot",
  "ecodevices",
  "ecodevices_rt2",
  "ecoflow_energy",
  "ecole_directe",
  "ecopower_dynamic_prices",
  "ecotracker",
  "ecotrend_ista",
  "ecowater_softener",
  "ecowitt",
  "edeka",
  "edenred_pt",
  "edf_tempo",
  "edge_tts",
  "eebus",
  "eetlijst",
  "eeve_mower_willow",
  "effortlesshome",
  "eforsyning",
  "eg4_inverter",
  "eg4_inverter_modbus",
  "eia_hourly_demand",
  "ekz_tariffs",
  "elasticsearch",
  "eldes_alarm",
  "electric_ireland_insights",
  "electrolux",
  "electrolux_status",
  "elegoo_printer",
  "elegoo_spaghetti_detection",
  "eleven_energy",
  "elevenlabs_custom_tts",
  "elisa_kotiakku",
  "elitecloud",
  "elkbledom",
  "elkbledom_fastlink",
  "elkoep_lara",
  "elli_charger_ha",
  "elnur_gabarron",
  "elro_connects",
  "elro_connects_realtime",
  "email_notifier",
  "email_notify_manager",
  "emaktab",
  "ematrica_hu",
  "emaux_spv150",
  "ember_mug",
  "emby_upcoming_media",
  "emeraldenergy",
  "emergency_stop",
  "emergencyapi",
  "emfitqs",
  "emontx_config",
  "emotiva",
  "emporia_ev",
  "emu_m_bus_center",
  "enea_outages",
  "energenie_lan",
  "energidataservice",
  "energosbyt_plus",
  "energy_hub_poland",
  "energy_meter",
  "energy_tracker",
  "energycalc",
  "energyscore",
  "energytariff",
  "energytrak",
  "enki",
  "ennatuurlijk_disruptions",
  "enocean_ble",
  "enocean_custom",
  "enovates",
  "enpal_webparser",
  "entergy_mobile",
  "entities_calendar",
  "entity_availability",
  "entity_controller",
  "entity_notes",
  "entsoe",
  "entur_sx",
  "envertech_solar",
  "eonromania",
  "eot_home",
  "ep_cube",
  "epex_spot",
  "epg",
  "epic_games",
  "eplucon",
  "epson_projector_link",
  "epson_snmp",
  "epson_workforce",
  "erovinieta",
  "erse",
  "esa_nask",
  "escea",
  "escl_scan",
  "escpos_printer",
  "esi_thermostat",
  "eskom_loadshedding",
  "esolatgps",
  "esolattakwim",
  "esp_wd",
  "esphome_firmware_bridge",
  "esphome_smart_updater",
  "esphome_update_manager",
  "esplus",
  "esptimecast",
  "essence_quebec",
  "estrannaise",
  "etelecom_for_home_assistant",
  "eufy_security",
  "eufy_vacuum",
  "ev_charger_modbus",
  "ev_charging_manager",
  "ev_load_balancer",
  "ev_load_balancing",
  "ev_smart_charging",
  "evcm",
  "evcnet",
  "evduty",
  "eventsensor",
  "ever_ups",
  "everhome",
  "evnex",
  "evocarshare",
  "evonic",
  "evri",
  "exaviz",
  "exo_pool",
  "expiration",
  "exsys_usb_hub",
  "extended_openai_conversation",
  "ezviz_hg2",
  "f1_25_telemetry",
  "facebook_messenger",
  "fado",
  "fairland",
  "fake_devices",
  "falcon_pi_player",
  "fanimation",
  "fatsecret",
  "favicon",
  "fcast",
  "feedparser",
  "feelfit",
  "fellow",
  "fellow_stagg_ekg_pro",
  "fermob",
  "ferroamp",
  "ferroamp_modbus",
  "festool_connected",
  "ffes_sauna",
  "fglair_heatpump_controller",
  "fiberhome_cpe",
  "fiftyfive",
  "file_plusplus",
  "file_restore",
  "fire_protection_hu",
  "fireboard",
  "firefly_cloud",
  "fireworks_tonight",
  "first_bus",
  "fishing_assistant",
  "fkf_garbage_collection",
  "flagdays_dk",
  "flair",
  "flamerite",
  "flashbird",
  "flavor_of_the_day",
  "flexopus",
  "flight_card",
  "flightradar24",
  "flights_above",
  "flipper_rc",
  "flode",
  "floureon",
  "flowerhub",
  "fluvius",
  "flybox",
  "fmd",
  "font_manager",
  "fontawesome",
  "foobar2k",
  "fordconnect_query",
  "fordpass",
  "fordpass_china",
  "fortnite",
  "fota_teltonika",
  "foxess",
  "foxess_api",
  "foxess_control",
  "foxess_modbus",
  "foxess_openapi",
  "foxess_tseries",
  "fra_betriebsrichtung",
  "frank_quarter_prices",
  "free_sleep",
  "freeair_connect",
  "freebox_player",
  "freeds",
  "french_holidays",
  "frigate",
  "frigidaire",
  "frisquet_connect",
  "fritzbox_calllist",
  "fritzbox_callmonitor_raw",
  "frixos",
  "fronius_modbus",
  "fronius_virtual_inverter",
  "frontend_translations",
  "ftms",
  "fuel_prices_italy",
  "fuel_prices_sweden",
  "fuelcompare_ie",
  "fuelprices_dk",
  "fusionsolarplus",
  "fxmarketapi",
  "gaggiuino",
  "galatz_news",
  "gardena_smart_system",
  "garmin_connect",
  "garmin_mapshare",
  "garo_wallbox",
  "gas_station_spain",
  "gbs_control",
  "ge_spot",
  "geappliances",
  "gecko",
  "geek_magic",
  "generac",
  "general_link",
  "generic_hygrostat",
  "generic_water_heater",
  "genieacs",
  "genius_lyrics",
  "genvex_connect",
  "geo_home",
  "geolocator",
  "geopulse",
  "georide",
  "geovelo",
  "ghostfolio",
  "gif",
  "gigachain",
  "gismeteo",
  "gitea",
  "glance_clock",
  "glinet",
  "globaltrack",
  "glowdreaming",
  "gluetun",
  "gmc500",
  "gne_pv_monitoring",
  "gobel_battery",
  "goboony",
  "godaddy_ddns_ipv6",
  "godaikin",
  "goecharger",
  "goecharger_mqtt",
  "gogs",
  "goldair_climate",
  "golemio",
  "golmar_quvii",
  "gonzales",
  "goodwe",
  "goodwe_sec1000",
  "google_aqi",
  "google_assistant_sdk_custom",
  "google_geocode",
  "google_home",
  "govee",
  "govee_ble_hci",
  "govee_lan",
  "gpio_integration",
  "gpodder",
  "grad_vol",
  "gree",
  "gree_ext",
  "green_shift",
  "greenely",
  "greg",
  "grenton_objects",
  "grenton_watcher",
  "grill_buddy",
  "grizzl_e",
  "grocery_learning",
  "grocery_list",
  "grocy",
  "grohe_smarthome",
  "grok_conversation",
  "groq",
  "growatt_modbus",
  "growatt_thor",
  "gtfs2",
  "gtfs_realtime",
  "gui_recorder",
  "guk_krasnodar",
  "gwm_ora",
  "gwm_ru",
  "ha_access_control_manager",
  "ha_behringer_mixer",
  "ha_bm2monitor",
  "ha_cameconnect",
  "ha_comfoconnectpro",
  "ha_creality_ws",
  "ha_daikin_altherma4_modbus",
  "ha_daily_counter",
  "ha_departures",
  "ha_dev_tools",
  "ha_easgen",
  "ha_entur_skyss",
  "ha_felicity",
  "ha_gaming_hub",
  "ha_gitops",
  "ha_gtt",
  "ha_guest_mode",
  "ha_heliotherm",
  "ha_insights",
  "ha_jokes",
  "ha_kostal_piko_solar_monitor",
  "ha_metar_weather",
  "ha_ocpp_relay",
  "ha_politikontroller",
  "ha_postaonline",
  "ha_ragent",
  "ha_schedule_panel",
  "ha_scheduler",
  "ha_soft_presence",
  "ha_strava",
  "ha_text_ai",
  "ha_tracker",
  "ha_unavailable_devices_report",
  "ha_users",
  "ha_vodarenska",
  "ha_zyxel",
  "hacs-minerstat",
  "haeo",
  "haghs",
  "hailolibero",
  "ham_radio_propagation",
  "hametric",
  "hanchuess",
  "hardtask",
  "hargassner_control",
  "harmony_ac",
  "harvest_time_tracker",
  "harvst",
  "hasgp",
  "hass_claude_usage",
  "hass_databricks",
  "hass_dyson",
  "hass_ensto_ble",
  "hass_gira_iot_api",
  "hass_mcp",
  "hass_pontos",
  "hass_web_proxy",
  "hassam",
  "hasslife",
  "hav_og_vind",
  "hdg_boiler",
  "health_pot",
  "healthchecksio",
  "healthsync",
  "heating_schedule",
  "heatmiser_edge",
  "heatmiser_wifi",
  "heatzy",
  "hebcal",
  "heidelberg_energy_control",
  "heizoel24mex",
  "hekr",
  "helios",
  "helios_vallox_ventilation",
  "helium_solana",
  "hella_onyx",
  "hello_fairy_ble",
  "hello_smart",
  "hemglass",
  "heru",
  "hetzner",
  "hevy",
  "heweather",
  "hgsmart",
  "hi3510",
  "hid_usbrelay",
  "hidratespark_bluetooth_proxy",
  "hidroelectrica",
  "hidromotic",
  "hifiberry",
  "hildebrandglow_dcc",
  "hilo",
  "himoinsa_c4lan",
  "hinen",
  "hiper_drift",
  "hisense_ac_plugin",
  "hive",
  "hive_local_thermostat",
  "hivi_speaker",
  "hk_air_quality",
  "hki_notify",
  "hochwasserportal",
  "hockey_team_tracker",
  "home_agent",
  "home_generative_agent",
  "home_inventory",
  "home_maintenance",
  "home_performance",
  "home_tasks",
  "homeassistantedupage",
  "homebridge_monitor",
  "homeduino",
  "homekit_avahi_proxy",
  "homekit_climate_plus",
  "homely",
  "homesec",
  "homestead_inventory",
  "homewhiz",
  "homewizard_vacuum",
  "homey",
  "hon",
  "honeygain",
  "honghui_climate",
  "hoymiles_hit_modbus",
  "hs_command_listener",
  "htd",
  "huawei_hg659",
  "huawei_mesh_router",
  "huawei_solar",
  "hue_dimmer",
  "hue_entertainment",
  "huesyncbox",
  "huligennem",
  "hume_tts",
  "hvac_group",
  "hvac_vent_optimizer",
  "hvcgroep",
  "hwmon_temp",
  "hydropeak",
  "hydroponic_control",
  "hydroqc",
  "hydros",
  "hymer_connect",
  "hyperhdr",
  "hyperliquid",
  "hypervolt_charger",
  "hyundai_ac",
  "ialarm_controller",
  "iammeter_http",
  "iammeter_link",
  "iammeter_modbus",
  "iaquk",
  "ibepower",
  "ical",
  "iceco",
  "icqa",
  "ics",
  "ics_calendar",
  "idfm",
  "idokep",
  "idrac_power",
  "ikamand",
  "ikuai",
  "ilife",
  "ilmeteo",
  "imaprotect",
  "immergas",
  "immich_frame",
  "immich_gallery",
  "imou_life",
  "impc_energy",
  "impk",
  "ims",
  "ims_envista",
  "ina219_ups_hat",
  "indego",
  "influxdb_query_api",
  "info_lan_for_home_assistant",
  "infomaniak_ddns",
  "infometric",
  "infrared_light",
  "ingress",
  "ingv_centro_nazionale_terremoti",
  "inkview",
  "inmet_weather",
  "innova",
  "input_boolean_group",
  "input_stats",
  "insite_energy",
  "integration_tester",
  "intelbras_alarm",
  "intelbras_amt",
  "intelbras_dvr",
  "intellicenter",
  "inteno",
  "interqr",
  "intervals_icu",
  "intex_spa",
  "inumet",
  "inumet_uruguay",
  "inverter_controller",
  "investing_portfolio",
  "iohouse_climate",
  "iona",
  "iopool",
  "ipcamlive",
  "ipcom",
  "iphonedetect",
  "ipmi",
  "ipp_print",
  "ipv64",
  "ipx800v3",
  "ipx800v4",
  "iqua_softener",
  "ir_light",
  "ir_remote",
  "iracing",
  "irm_kmi",
  "irrigation_unlimited",
  "irrigationprogram",
  "irtrans",
  "isauna",
  "isitpayday",
  "isp_balance",
  "iss_track",
  "ista_online",
  "itchio",
  "itho_amber",
  "ithodaalderop",
  "jablotron_cloud",
  "jablotron_futura",
  "jarvis",
  "jax_stream",
  "jbl_integration",
  "jellyfish_lighting",
  "jet2",
  "jira_filters",
  "jokes",
  "joyonway",
  "jq300",
  "jriver",
  "jukeaudio_ha",
  "jura",
  "juwel_helialux",
  "kaco",
  "kadermanager",
  "kamstrup_403",
  "kan_program",
  "karaca_connect",
  "karakeep",
  "kat_bulgaria",
  "kde_connect",
  "keba_heat_pump_modbus",
  "keba_one_ev",
  "keemple",
  "keenetic_router_pro",
  "keeplink_switch",
  "kef",
  "kef_connector",
  "keyatome",
  "kia_connect",
  "kia_uvo",
  "kidde_homesafe",
  "kilowahti",
  "kingspan_watchman_sensit",
  "kleenex_pollenradar",
  "klipsch_flexus",
  "klokku",
  "knmi",
  "knob_swipe_navigation",
  "kobold",
  "kodi_media_sensors",
  "kodi_recently_added",
  "kohler",
  "komfovent",
  "konke",
  "kontomierz_sensor",
  "kore_wireless",
  "kr_baby_kit",
  "krado",
  "kraftplugg",
  "krisinformation",
  "kroki",
  "ksenia_lares",
  "kumo",
  "kuvasz_uptime",
  "kvv_departure_monitor",
  "kyber",
  "label_state",
  "labelmate_scene",
  "ladestellen_austria",
  "lambda_heat_pumps",
  "lametric_hass_local",
  "lancom_lmc",
  "landbook",
  "landroid_cloud",
  "launtel",
  "layered_logic_mirror",
  "lcards",
  "ld2410",
  "ld2410_serial",
  "ldata",
  "leasing_tracker",
  "led_matrix_zmq",
  "lednetwf_ble",
  "leeds_bins",
  "leisure_pools",
  "leitir",
  "lektrico_custom",
  "lelight",
  "leneda",
  "lepro_led",
  "leslies_pool",
  "letratag",
  "lg_ac_ir",
  "lg_hombot",
  "lghorizon",
  "libratone_zipp",
  "librelink",
  "libreview",
  "lidl",
  "liebherr",
  "lierda_iot",
  "life_events",
  "lifesmart",
  "lifetime_fitness",
  "light_reilluminator",
  "light_sync_group",
  "lightener",
  "lighting_zone",
  "lights_app",
  "lightwave2",
  "lightwave_smart",
  "lightwaverf_energy",
  "limodor_airodor",
  "linkedgo_bridge",
  "linktap",
  "linus_dashboard",
  "linz_linien_austria",
  "lippert_onecontrol",
  "lipro",
  "liquid_check",
  "listenbrainz",
  "listonic",
  "little_monkey",
  "liveboxtvuhd",
  "lkcomu_interrao",
  "llmvision",
  "lmt_iot",
  "load_shedding",
  "local_akuvox",
  "local_luftdaten",
  "localai_monitor",
  "localtuya",
  "localtuya_rc",
  "localvolts",
  "lockly",
  "loex_xsmart",
  "log_manager",
  "loggamera",
  "logger_manager",
  "london_tfl",
  "lorobot",
  "lovelace_gen",
  "lowi_spain",
  "lpubelts_ha",
  "ltss",
  "lubelogger",
  "lucarne_family",
  "lucidmotors",
  "luna",
  "lunar_phase",
  "lunchaimjardevi",
  "lunos",
  "luxcloud",
  "luxor_living",
  "luxtronik",
  "luxtronik2",
  "luxtronik2_hass",
  "lxp_modbus",
  "lynkco",
  "lyrion_cli",
  "macs",
  "madvr_envy",
  "magewell",
  "magic_areas",
  "magicswitchbot",
  "magiline_imagix",
  "mail_and_packages",
  "mailcow_ha_custom",
  "maint",
  "maintenance_tracker",
  "manish",
  "marees_france",
  "marta",
  "mashov",
  "mass_queue",
  "massa_node",
  "mastertherm",
  "material_home_assistant",
  "material_symbols",
  "matomo",
  "matriocontrol",
  "matter_binding_helper",
  "matterbridge",
  "mattermost",
  "maxsmart",
  "maxstorage_ultimate",
  "mbapi2020",
  "mc66c",
  "mcp_assist",
  "mcp_server_http_transport",
  "mdadm_state",
  "measureit",
  "media_frame",
  "media_index",
  "media_player_template",
  "medication_reminder",
  "medisanabp_ble",
  "meinvodafone",
  "melcloudhome",
  "melview",
  "memory",
  "mempool",
  "mensa_clarservice",
  "mercedesmeapi",
  "mercury_switch",
  "meross_cloud",
  "meshtastic_ui",
  "message_queue",
  "messages_store",
  "met_alerts_hu",
  "met_next_6_hours_forecast",
  "meteo_imgw_pib",
  "meteo_lt_by_brunas",
  "meteoblue",
  "meteocat",
  "meteoeuregio",
  "meteofrance_montagne",
  "meteogalicia",
  "meteogalicia_tides",
  "meteogr",
  "meter_macs",
  "methu_forecast",
  "metlink",
  "metnowcast",
  "metra_tracker",
  "metro_sp",
  "metservice_weather",
  "meural",
  "mg_saic",
  "mhtzn",
  "micro_weather",
  "microart",
  "microsoft_calendar",
  "microsoft_graph",
  "midea",
  "midea_ac",
  "midea_ac_lan",
  "midea_auto_cloud",
  "midea_dehumidifier",
  "midea_dehumidifier_lan",
  "midea_dishwasher",
  "midea_heatpump_hws",
  "miele",
  "miheater",
  "mihomo_ctrl",
  "mijn_waterlink",
  "mikettle_ble",
  "mikrotik_netwatch",
  "mikrotik_swos",
  "mila",
  "minibrew",
  "minidspshd",
  "mintmobile",
  "mistral_conversation",
  "mitsubishi_outlander_phev_eu",
  "mitsubishi_wf_rac",
  "miwifi_cb0401v2",
  "mixergy",
  "miyocube",
  "mjpeg_timelapse",
  "mlb_live_scoreboard",
  "mnb_rates",
  "mobile_vikings",
  "mocreo",
  "moderntides",
  "moen_smart_water",
  "mojelektro",
  "molad",
  "mold_risk_index",
  "molekule",
  "molight",
  "momentary",
  "monarchmoney",
  "monitor_docker",
  "monta",
  "montreal_aqi",
  "moodlights",
  "moodo",
  "moogo",
  "moon_astro",
  "moox_track",
  "moscow_pgu",
  "moscow_transport",
  "motalavattenavfall",
  "motion_dimmer",
  "motorline_mconnect",
  "movement",
  "moving_colors",
  "moving_intelligence",
  "mqtt_discoverystream",
  "mqtt_discoverystream_alt",
  "mqtt_remote_buttons_remap",
  "ms365_calendar",
  "ms365_mail",
  "ms365_teams",
  "ms365_todo",
  "multical_21",
  "multicraft",
  "multiscrape",
  "multisport",
  "multizone_controller",
  "munich_public_transport",
  "my_ipx800v3",
  "my_music_library",
  "my_rail_commute",
  "myelectrica",
  "myenergi",
  "myezviz",
  "myfox",
  "myheat",
  "myicomfort",
  "myjdownloader",
  "myko_plus",
  "mylight150",
  "mylight_systems",
  "mypv",
  "myskoda",
  "mysmartwindow",
  "nad_controller",
  "naim_media_player",
  "nanokvm",
  "naolib",
  "napoleon",
  "napoleon_efire",
  "narodmon",
  "nasa_astronomy",
  "nasa_firms",
  "nature_remo",
  "naturela_smarthome",
  "navigation_menu_manager",
  "navimow",
  "navirec",
  "nctalkbot",
  "neatsvor",
  "neerslag",
  "nemon_intex_swg",
  "neo_watcher",
  "neosmartblue",
  "neptun_smart_local",
  "nes",
  "nescafe_ble",
  "nest_protect",
  "nestup_evn",
  "netgear_plus",
  "netgear_wax",
  "network_scanner",
  "neviweb",
  "neviweb130",
  "new_bestway_spa",
  "newlab",
  "newsbinpro",
  "nexhome",
  "next_rocket_launch",
  "nextbike",
  "nextbike_austria",
  "nextenergy_battery",
  "nhc2",
  "nhl_api",
  "nibe_energy_conversion",
  "nice_bidiwifi",
  "nice_mncut",
  "nilan",
  "nimblist",
  "nimbus_climate_scheduler",
  "nintendo_wishlist",
  "nissan_carwings",
  "nissan_connect",
  "nissewaard",
  "niu",
  "niwa_tides",
  "nl_weather",
  "noaa_it_all",
  "noaa_space_weather",
  "nodeping_status",
  "nodvarsel",
  "noonlight",
  "nordnet",
  "nordpool",
  "nordpool_planner",
  "norsk_tidevann",
  "northumberland_bin_collection",
  "norway_alerts",
  "norway_electricity",
  "norway_seaforecast",
  "norwegian_parcel_tracker",
  "notify_api",
  "notion_garden_care",
  "notion_todo",
  "nova_poshta",
  "novus300bus",
  "novy_pureline_pro",
  "npc",
  "npm_switches",
  "nsw_beachwatch",
  "nsw_fire_danger",
  "nsw_rural_fire_service_fire_danger",
  "nswcovid",
  "nuki_otp",
  "nuki_web",
  "nuvo_tuner",
  "nws_alerts",
  "nws_spc_outlook",
  "nyc311",
  "o365",
  "oblamatik",
  "obs_websocket",
  "octopus_agile_window_finder",
  "octopus_energy_it",
  "octopus_spain",
  "octopusagile",
  "octopusnet",
  "oekofen_pellematic_compact",
  "oidc_provider",
  "oilfox",
  "ojmicroline_thermostat",
  "oklyn",
  "oklyn_local",
  "okokscale",
  "ollama_vision",
  "omlet_smart_coop",
  "omnik",
  "omnik_inverter",
  "omnisense",
  "oncharger",
  "one_pocket",
  "onecontrol",
  "onedrive_backup",
  "onep1",
  "ontario_energy_board",
  "ookla_speedtest",
  "ooler",
  "ooni_connect",
  "opcom",
  "open_meteo_local",
  "open_meteo_solar_forecast",
  "open_pico",
  "openadr3_ven",
  "openai_stt",
  "openai_whisper_cloud",
  "openaq",
  "openclash_manager",
  "openei",
  "opengrowbox",
  "openid",
  "openmensa",
  "openmeteo_marine",
  "openobserve",
  "openplantbook",
  "openpublictransport",
  "opensprinkler",
  "openweathermaphistory",
  "openwrt_mqtt",
  "openwrt_presence",
  "openwrt_wakeonlan",
  "oppo_ipcontrol",
  "optimistic_feedback",
  "optoma_projector",
  "optus",
  "oralb_ble",
  "orange_internet_on_the_move",
  "orbit_bhyve",
  "oref_alert",
  "ori",
  "orisec",
  "orkli_wifi_thermostat",
  "osoenergy_community",
  "osrm_travel_time",
  "osrs_data",
  "osservaprezzi_carburanti",
  "otel",
  "otto_wilde_g32",
  "oura",
  "ourgrid",
  "ourgroceries_kiosk",
  "outdoor_environment",
  "ovapi",
  "overwolfstatus",
  "ovh",
  "ovh_ipv6",
  "ovo_charge",
  "owlintuition",
  "owserver",
  "p2000",
  "p2000_nl",
  "paddle_conditions",
  "padersprinter",
  "pagerduty",
  "panasonic_ac",
  "panasonic_cc",
  "panasonic_cloud",
  "panasonic_iot_tw",
  "panasonic_smart_app",
  "panasonic_smart_china",
  "panda_esl",
  "panda_pwr",
  "pandora_cas",
  "paperlesspaper",
  "paprika",
  "paradigma",
  "parasail_conversation",
  "parasail_stt",
  "parasail_tts",
  "parking_gent",
  "pc_ships",
  "pca301",
  "pcloud_backup",
  "peakshavr",
  "peaqev",
  "peaqhvac",
  "peaqnext",
  "peloton",
  "perplexity",
  "perry_cdom",
  "person_location",
  "persona_rotator",
  "personal_hydration_manager",
  "personal_weather_station",
  "personalcapital",
  "personio",
  "petkit",
  "petnovations",
  "petoneer_smartdot",
  "petsafe",
  "pfsense_gateways",
  "pgnig_gas_sensor",
  "phicomm_dc1",
  "philips_2014",
  "philips_airplus",
  "philips_airpurifier_coap",
  "philips_ambilight_hue",
  "philips_android_tv",
  "philips_heater_coap",
  "philips_home_access",
  "philips_pet_series",
  "phoniebox",
  "photoframecast",
  "picotts_remote",
  "picow_neopixel",
  "pid_controller",
  "pihole_presence",
  "pik_intercom",
  "pima",
  "pima_force",
  "pipeless",
  "pirateweather",
  "places",
  "plant_care",
  "plant_diary",
  "planta",
  "plantlab",
  "plcbus",
  "pleinchamp",
  "plejd",
  "plex_recently_added",
  "pluggit",
  "pluxee_pt",
  "pod_point",
  "poda_data",
  "polar",
  "polaris",
  "polestar",
  "polestar_api",
  "pollen_dk",
  "pollen_hu",
  "pollen_lu",
  "polleninformation",
  "polleninformation_at",
  "pollenvarsel_naaf_yr",
  "poollab",
  "poolmath",
  "pooltechnologie",
  "populartimes",
  "popup_card",
  "porkbun_ddns",
  "postcodeloterij",
  "posten",
  "power_helper",
  "power_max_tracker",
  "power_saver",
  "powerbaas",
  "powerbrain",
  "powercalc",
  "powerclimate",
  "powerocean",
  "powerpanel_cloud",
  "powertag_gateway",
  "pracht_alpha",
  "prana_wifi",
  "prayzone",
  "pre_hdo",
  "precious_metal_prices",
  "precipitation_radial",
  "precoscombustiveis",
  "predistribuce",
  "premierinn",
  "presence_simulation",
  "previous_state_tracker",
  "prix_carburant",
  "proconip_pool_controller",
  "profilux_mini",
  "profimaktab",
  "programmable_thermostat",
  "project_zero_three",
  "prometheus_sensor",
  "pronatura",
  "pronote",
  "proof",
  "proscenic",
  "proxmark3",
  "proxmox_sensors",
  "ps3",
  "pskr",
  "publibike",
  "public_transport_victoria",
  "pufferpanel",
  "pulsatrix_local_mqtt",
  "pumpsteer",
  "pura",
  "purpleair_aqi",
  "pushward",
  "pv_curtailment",
  "pv_history_forecast",
  "pvoutput_publisher",
  "pvpc_energy",
  "pylontech",
  "pypi_updates",
  "pysmaplus",
  "qbittorrent_alternative_speed",
  "qbittorrent_mkii",
  "qingping_cgs1",
  "qld_fuel",
  "qmdevha",
  "qr_generator",
  "qss",
  "qstream",
  "qubo",
  "quebec_fuel",
  "quick_timer",
  "quietcool_ble",
  "quilt",
  "quizify",
  "qvantum",
  "qvantum_modbus",
  "qwikswitch_api",
  "raccolta_rifiuti",
  "rad-afval",
  "radar_map_manager",
  "radarr_upcoming_media",
  "radioactivity_hu",
  "radoff",
  "radpro_usb",
  "rain_radar",
  "raincloud",
  "rainmachine_pro",
  "rako",
  "ramses_extras",
  "rapt_cloud_link",
  "raspi_sump",
  "ratio_ev_charger",
  "rav311_remote",
  "rbac",
  "rbfa",
  "rce_pse",
  "rclone",
  "read_your_meter",
  "readme",
  "readynaslocal",
  "real_last_changed",
  "real_last_sensors",
  "reaper",
  "recamera",
  "recbms",
  "receipt_printer",
  "recom",
  "recorder_throttle",
  "recycle_app",
  "redback",
  "redback_tech",
  "redsea",
  "reef_pi",
  "refoss_lan",
  "regensburg_transport",
  "regie_de_l_energie_du_quebec",
  "regulus",
  "relaytv",
  "remeha_modbus",
  "remko_mqtt",
  "remote_activity_monitor",
  "remote_assistant",
  "remote_homeassistant",
  "remote_logger",
  "remote_syslog",
  "rene_koch_ag",
  "rental_control",
  "reolink_discovery",
  "reolink_thumbs",
  "repsol_vivit",
  "resmed_myair",
  "resol",
  "response_as_sensor",
  "resrobot",
  "restore_persistent_notifications",
  "retention_cleaner",
  "retry",
  "reversotts",
  "revogi",
  "rexlite",
  "rezti_matter_knoblink",
  "rgbroadcast",
  "rhvoice",
  "ring_stash",
  "rnv",
  "robinhood_crypto",
  "robonomics",
  "robovac",
  "robovac_mqtt",
  "rocketlaunchlive",
  "rokid_webhook",
  "room_power_aggregator",
  "roomba_rest980",
  "roomba_v4",
  "roommind",
  "routario",
  "royalmail",
  "rozkladzik",
  "rpi_gpio",
  "rpi_rf",
  "rte_ecowatt",
  "rte_jours_signales",
  "rubber_duck",
  "run_chicken",
  "runelite",
  "rutos",
  "ruuvi",
  "ruuvi_gateway_bt_proxy",
  "ryanair",
  "s3_compatible",
  "s7plc",
  "sabiana_cloud",
  "sabiana_energy_smart",
  "sabiana_hvac",
  "sagecoffee",
  "saguenay_collection",
  "saj_esolar",
  "saj_esolar_air",
  "saj_esolar_ble",
  "saj_h2_modbus",
  "saj_modbus",
  "salter",
  "salus",
  "samsung_ac_dplug",
  "samsung_dms",
  "samsungtv_encrypted",
  "samsungtv_tizen",
  "samuelre_teamspeak",
  "sat",
  "satellitetracker",
  "save_eco_bot",
  "saver",
  "sax_battery",
  "sberdevices",
  "scenery",
  "scentair",
  "schedule_state",
  "scheduler",
  "schneider_selogic",
  "schulferien",
  "scinan_thermostat",
  "scribe",
  "sdac_elia",
  "sdnotify",
  "seafile",
  "seatemperatures",
  "sector",
  "securemtr",
  "securitas",
  "seedboxes_cc",
  "seedtime",
  "seismoi",
  "seiverkot",
  "selectra",
  "sems",
  "sems_wallbox",
  "senec",
  "senertec",
  "senseme",
  "sensi",
  "sentio",
  "senz_wifi",
  "sequence",
  "settleup",
  "seven",
  "sg_bus_arrivals",
  "shairport_sync",
  "sharesight",
  "shark_flex_breeze",
  "sharp_cocoro_air",
  "sheaf",
  "shell_recharge",
  "shelly",
  "shelly_plug_led",
  "sherbrooke_poubelle",
  "shmu",
  "shopping_list_with_grocy",
  "shoppingtajm",
  "sht20",
  "sickchill",
  "siedle",
  "siegenia",
  "siepomaga",
  "sigma_connect_ha",
  "signalrgb",
  "sikom",
  "siku",
  "silam_pollen",
  "sildre",
  "silencescooter",
  "silla_prism",
  "simbase",
  "simple",
  "simple_inventory",
  "simple_irrigation",
  "simple_pid_controller",
  "simple_plant",
  "singapore",
  "sinilink_udp",
  "sinope",
  "sistena",
  "sizzapp",
  "sjofartsverket_viva",
  "skolmat",
  "sky_lite_evolve",
  "skydance",
  "skykettle",
  "skylinewebcams",
  "skyq",
  "slack_user",
  "sleepme_thermostat",
  "slovenian_weather_integration",
  "sma_ennexos",
  "smaev",
  "smart_announcements",
  "smart_cover_automation",
  "smart_dehumidifier",
  "smart_irrigation",
  "smart_maic",
  "smart_offset_thermostat",
  "smart_oil_gauge",
  "smart_presence_notify",
  "smart_pump_scheduler",
  "smart_sprinkler_control",
  "smart_thermostat",
  "smartcar",
  "smartdome_heat_control",
  "smartenergy",
  "smartevse",
  "smartpms",
  "smartrent",
  "smartslydr",
  "smartspaclient",
  "smartyplants",
  "smhi_alerts",
  "smhi_brandrisk",
  "smhi_odp",
  "smhi_season",
  "smogtok",
  "smol",
  "smsto",
  "sncf_trains",
  "snmp_printer",
  "snmp_switch_manager",
  "snowtire",
  "soccer_live",
  "sofabaton_hub",
  "sol",
  "solamagic",
  "solar_cover",
  "solar_cube",
  "solar_daytopper",
  "solar_energy_management",
  "solar_load_controller",
  "solar_manager_forecast",
  "solar_optimizer",
  "solar_shade",
  "solardelta",
  "solaredge_ev_charger_au",
  "solaredge_forecast",
  "solaredge_modbus",
  "solaredgeoptimizers",
  "solarfocus",
  "solarman",
  "solarweb",
  "solax_cloud_api",
  "solax_cloud_evc",
  "solis",
  "solis_cloud_control",
  "solis_cloud_monitoring",
  "solplanet",
  "solshare",
  "solstice_season",
  "solvis_modbus",
  "som_energia",
  "somfy_cul",
  "somweb",
  "sonarr_upcoming_media",
  "songpal_m",
  "sonic",
  "sonoff",
  "sonos_alarm",
  "sonos_cloud",
  "sony_x700_ir",
  "sonyavr",
  "sossen",
  "sourdough_manager",
  "southpool",
  "sox",
  "soyo",
  "sp110e",
  "spacentral_for_balboa",
  "spaclient",
  "spanet",
  "sparebank1_pengerobot",
  "speedport",
  "speedtest_rt_ru",
  "splitwise",
  "spot_scheduler",
  "spotcast",
  "spotify_voice_assistant",
  "spritmonitor",
  "spypoint",
  "sql_request",
  "sscpoe",
  "ssh",
  "ssh_command",
  "ssh_docker",
  "ssm",
  "sst_cloud",
  "stadtbibliothek",
  "stadtreinigung_hamburg",
  "stagg_ekg_plus",
  "standup_desk",
  "star_rennes",
  "starlingbank_enhanced",
  "state_webhook",
  "stateful_scenes",
  "steam_wishlist",
  "steamvr",
  "stellantis_vehicles",
  "stewart_filmscreen",
  "stiebel_eltron_http",
  "stopfinder",
  "store_app_version",
  "storj_node_statistics",
  "streamdeck",
  "stromer",
  "stromgedacht",
  "stromkalkulator",
  "stromligning",
  "stt_corrector",
  "studer_xcom",
  "sunlight_intensity",
  "sunriser",
  "sunseeker",
  "sunset_predictor",
  "sunspec",
  "sunspec2",
  "sunsynk",
  "sunthalpy",
  "super_soco_custom",
  "superior_plus_propane",
  "superior_propane",
  "supernotify",
  "suptronics_ups_x120x",
  "sureha",
  "sutro",
  "svara_vent_axia_ble",
  "svk_mimer",
  "svt_play",
  "swatch",
  "swatch_time",
  "swemail",
  "swiss_pollen",
  "swissweather",
  "switch2",
  "switch_manager",
  "switchbot_camera",
  "switchbot_press",
  "switchbotremote",
  "sycamore",
  "synology_download_station",
  "synology_tasks",
  "syr_connect",
  "syslog_receiver",
  "systemair",
  "systemair_modbus",
  "systembolaget",
  "t_skylt",
  "t_smart",
  "ta_coe",
  "taipit",
  "taipower_bimonthly_cost",
  "taiwan_cwa",
  "tankstellen_austria",
  "tapcocktail",
  "tapo",
  "target_timeframes",
  "tarif_edf",
  "tarifa_20td",
  "tascam_bdmp4k",
  "task_organizer",
  "task_tracker",
  "taskmate",
  "tasmota_ir_ready",
  "tasmota_mielhvac",
  "tavos_water_outage",
  "tcl_home_unofficial",
  "tcl_intelligent_ac",
  "tcl_tv_remote",
  "tclplus_ac",
  "tdameritrade",
  "tdarr",
  "teamtracker",
  "tech",
  "technicolor",
  "tekmar_482",
  "telegram_bot_conversation",
  "telegram_client",
  "telegram_voip",
  "teltonika_rms",
  "temperatur_nu",
  "temperature_alarm",
  "tempest",
  "templatebinarysensor",
  "tennet_balance",
  "teracom",
  "terma_moa_blue",
  "termux_api",
  "tesira_ttp",
  "tesla_custom",
  "tesla_solar_charger",
  "tesy",
  "teufel_raumfeld",
  "tgtg",
  "themeparks",
  "themodernmilkman",
  "thermacell_liv",
  "thermal_comfort",
  "thermal_vision",
  "thermex_api",
  "thermiq_mqtt",
  "thermostat_proxy",
  "thermostat_setback",
  "thermostat_slider_card",
  "thermostat_timeline",
  "thermoworks_bt",
  "thermozona",
  "thessla_green",
  "tholz",
  "tibber_graph",
  "tibber_prices",
  "tibber_pulse_mqtt",
  "ticker",
  "tide",
  "tiko",
  "tineco",
  "tinxy",
  "tmobile_home_internet",
  "tnb_calculator",
  "tns_energo",
  "tobi",
  "tokit_cooker",
  "tomtom_travel_time",
  "toon_boilerstatus",
  "toon_climate",
  "toon_smartmeter",
  "tor_check",
  "toshiba_ac",
  "toshiba_ac_community",
  "totalkredit",
  "tovala",
  "toya_decoder",
  "toyota_na",
  "tper_tracker",
  "tplink_cpe",
  "tplink_deco",
  "tplink_ipc_control",
  "tplink_router",
  "tracking_numbers",
  "tradepulse",
  "traderepublic",
  "trading212",
  "traeger",
  "trafford_bin_collection",
  "trafikinfo_se",
  "trafiklab",
  "trafikmeldinger",
  "trakt",
  "trakt_tv",
  "transformers_allspark_ui",
  "transit_departures",
  "trash_tracking",
  "treeow",
  "triad_ams",
  "trias",
  "trimlight",
  "trinnov_altitude",
  "tripp_lite_srcool",
  "tritius",
  "trmnl",
  "trmnl_weather_station",
  "trsdm_dynamic_device_tracker",
  "trueachievements",
  "ttlock",
  "ttn_gateway",
  "tududi_integration",
  "tuneblade",
  "turkov",
  "turntouch",
  "tuya_body_fat_scale",
  "tuya_cloud_map_extractor",
  "tuya_heat_pump",
  "tuya_radiators",
  "tuya_scale",
  "tuya_sensors",
  "tuya_smart_ir_ac",
  "tuya_vacuum_maps",
  "tv4_play",
  "tv_assist",
  "tvh_rec",
  "tvoverlay_ui",
  "twilio_sms_ui",
  "tylo_sauna",
  "tzevaadom",
  "u_by_moen",
  "uconnect",
  "ufanet",
  "ufc_fight_tracker",
  "uhomeuponor",
  "uhooair",
  "ui_lovelace_minimalist",
  "uiot_home",
  "uix",
  "uk_bin_collection",
  "ultimaker",
  "ultra_card_pro_cloud",
  "ultrahuman",
  "ultrasync",
  "umamiha",
  "unban_ip",
  "unifi_access",
  "unifi_alerts",
  "unifi_network_map",
  "unifi_network_rules",
  "unifi_presence",
  "unifi_voucher",
  "unifigateway",
  "unii",
  "uniled",
  "unique_waterontharder",
  "universal_notifier",
  "universal_remote",
  "universal_thermostat",
  "unraid",
  "unraid_management_agent",
  "unstats",
  "upgrade_advisor",
  "uplift_desk",
  "upnp_availability",
  "uponorx265",
  "ups",
  "ups_snmp_ha",
  "upsplus",
  "urbanhello_remi_unofficial",
  "usgs_streamflow",
  "usr_r16",
  "utilities_email_tracker",
  "v2c_cloud",
  "vaca",
  "vacances_fr",
  "vacances_scolaires",
  "vacasa",
  "vacation_mode",
  "vaillant_plus",
  "vaillant_vsmart",
  "vakio_atmosphere",
  "vakio_base_smart",
  "vakio_kiv",
  "vakio_openair",
  "vapix",
  "var",
  "vegehub",
  "vehicle_bt_tracker",
  "vehiclevue",
  "velair",
  "velux_active",
  "venstar_emulator",
  "venstar_receiver",
  "venta",
  "ventoptimization",
  "versatile_thermostat",
  "vertiv",
  "vestaboard",
  "vibbo",
  "victorsmartkill",
  "victron",
  "victron_charge_control",
  "victron_mk3",
  "victron_mqtt",
  "victron_vebus_mk3",
  "victron_vrm_api",
  "viewsonic_projector",
  "vigi_control",
  "vigicam",
  "vigieau",
  "vigobus",
  "vikunja_voice_assistant",
  "vilnius_air",
  "vimar",
  "vimar_byme_plus",
  "vinorage",
  "viomise",
  "virage_dashboard",
  "virgintivo",
  "virtual_battery",
  "virtual_devices",
  "virtual_keys",
  "virtual_lymow",
  "visiblair",
  "vitesy_shelfy",
  "vitotrol",
  "viva",
  "vivohomebridge",
  "vivosun_growhub",
  "vklass",
  "vmc_helty_flow",
  "vmc_ubbink",
  "vogels_motion_mount_ble",
  "voice_satellite_llm_tools",
  "voicevox_tts",
  "volcano_integration",
  "volkswagen_goconnect",
  "voltalis",
  "vonage",
  "vorwerk",
  "vouchervault",
  "voyah",
  "vtherm_climate_replication",
  "wafflecity",
  "wage_calculator",
  "wake_alarm",
  "wake_up_alarm",
  "wallpanel_media_player",
  "walutomat",
  "wanas",
  "warm_welcome",
  "warmup",
  "was110_8311",
  "washwise",
  "wasp_in_a_box",
  "waste_collection_schedule",
  "waste_management",
  "wasteplan_trv",
  "watchman",
  "water_babies",
  "water_monitor",
  "water_quality_fvm",
  "waterco",
  "waterinfo",
  "waterkotte_heatpump",
  "waterlevel_ie",
  "waternsw",
  "wattbox",
  "wattio",
  "wattwallet",
  "waveshare_relay",
  "wavinsentio",
  "wda_sensor",
  "weather_uploader",
  "weatheralerts",
  "weatherapi",
  "weathercloud",
  "weatherdotcom",
  "weathersense",
  "weatherxm",
  "web888",
  "weback_vacuum",
  "webauthn_mfa",
  "webel_gctrl",
  "webhook_service",
  "webostv_classic",
  "webrtc",
  "webuntis",
  "weenect",
  "weishaupt_modbus",
  "wellbeing",
  "wesmart_garbage",
  "wevolor",
  "whatpulse",
  "whatsapp",
  "whatsigram_messenger",
  "whatspie",
  "whenhub",
  "whisker_ting",
  "wibeee",
  "wiener_linien_austria",
  "wiewarm",
  "wifi_sensor_tracker",
  "wigle",
  "wiheat",
  "wiim",
  "willo",
  "windy_webcams",
  "wine_cellar",
  "winix",
  "winkhaus_doorclient",
  "wisecloud_home",
  "wiser",
  "wlanthermo",
  "worlds_air_quality_index",
  "worldtidesinfocustom",
  "ws_core",
  "ws_mcp_server",
  "wud_getupdates",
  "wud_monitor",
  "wundasmart",
  "x728",
  "xai_conversation",
  "xantech",
  "xcomfort",
  "xev_yoyo",
  "xiaomi_cloud_map_extractor",
  "xiaomi_miio_airconditioningcompanion",
  "xiaomi_miio_airpurifier",
  "xiaomi_miio_cooker",
  "xiaomi_miio_fan",
  "xiaomi_miio_philipslight",
  "xiaomi_miio_plug",
  "xiaomi_miio_raw",
  "xiaomi_mimo_tts",
  "xiaomi_remote",
  "xiaozhi_mcp",
  "xlights_scheduler",
  "xmrig",
  "xmrpool_stat",
  "xplora_watch",
  "xweatherly",
  "xyscreens",
  "yahoofinance",
  "yainternetometr",
  "yamaha_rn301",
  "yandex_pogoda",
  "yandex_smart_home",
  "yandex_station_intents",
  "yandex_weather",
  "yasno_outages",
  "yeelight_bt",
  "yeelock",
  "yi_hack",
  "yidcal",
  "ynab_custom",
  "yodel",
  "yolo_updater",
  "yoto",
  "youtube",
  "ytube_music_player",
  "z906_ir_remote_ha",
  "zalo_bot",
  "zambretti_sager",
  "zaptec",
  "zaragoza_tram",
  "zcsazzurro",
  "zendo",
  "zha_lock_manager",
  "zha_toolkit",
  "zhipuai",
  "zidoo",
  "zitadel_bridge",
  "zoe_new_extended",
  "zone4",
  "zone_label_trigger",
  "zoom",
  "zte_fibra_tracker",
  "zte_ng_router",
  "zte_router",
  "ztm_warsaw"
 ],
 "unreachable_domains": [
  "bibliotheek_be",
  "carbu_com",
  "cityparking",
  "delhaize_ha",
  "espeasy_p2p",
  "esphome_designer",
  "evchargingstations",
  "f1_sensor",
  "intercom_native",
  "lea_amp",
  "myenergy",
  "pixometer",
  "powerline",
  "rejuvenation_bed",
  "smarti",
  "smartschool",
  "taphome",
  "telenet_telemeter",
  "voice_satellite"
 ]
}
