Skip to content

Releases: pallemannen/hass-multiscrape-xfinity-gateway

v1.6.0

Choose a tag to compare

@pallemannen pallemannen released this 24 Aug 19:36

Added

  • New sensors scraped from the gateway's Hardware page (/hardware.jst): Hardware Revision, Processor Speed, and DRAM/Flash Total/Used/Available Memory.

Model, Vendor and Serial Number on that page are intentionally not duplicated - they're already exposed via the existing network_setup.jst-sourced sensors.

v1.5.0

Choose a tag to compare

@pallemannen pallemannen released this 19 Aug 22:36
55b4301

Added

  • All entities now group under a single device (manufacturer/model/serial/software
    version read from the gateway itself), instead of appearing as ungrouped entities.
  • Config flow now asks for a device name (defaults to "Xfinity Gateway"), used both
    as the config entry title and the device name shown in the UI.

Fixed

  • sensor.xfinity_gateway_mac_address always reported unavailable. Its Wi-Fi MAC
    lookups were missing the context needed to read the Wi-Fi page's already-fetched
    content, causing every scrape attempt to fail.
  • sensor.xfinity_gateway_mode always reported unknown. Its SensorDeviceClass.ENUM
    device class was being silently discarded during setup - the same root cause
    already fixed for the connectivity binary sensors in 1.3.2, but missed here since
    this sensor was added in the same release (1.4.0) that introduced that fix.

v1.4.0

Choose a tag to compare

@pallemannen pallemannen released this 19 Aug 03:40
2af8d5f

Added

  • sensor.xfinity_gateway_mode, reporting Bridge or Router, reusing the same Bridge Message detection text ("in bridge mode") already used by binary_sensor.xfinity_gateway_bridge_mode. Icon switches between mdi:bridge and mdi:router depending on state.

Fixed

  • binary_sensor.xfinity_gateway_connectivity and binary_sensor.xfinity_gateway_lan_connection never actually reported device_class: connectivity. Both classes set _attr_device_class as a class attribute, but MultiscrapeEntity.__init__ unconditionally does self._attr_device_class = device_class from its own constructor parameter — which both classes called with None. That instance assignment ran after the class body, silently overwriting the class attribute back to None on every setup, so the entities always reported device_class: null regardless of source, on every version since v1.3.1. Fixed by passing the device class through the constructor instead.

v1.3.2

Choose a tag to compare

@pallemannen pallemannen released this 15 Aug 04:07
7d130aa

Fixed Bridge Message's icon never rendering - mdi:bridge-mode isn't a real Material Design Icon, mdi:bridge is.

v1.3.1

Choose a tag to compare

@pallemannen pallemannen released this 15 Aug 03:26
4ea5ebb
  • Fixed client-count sensors (LAN, Wi-Fi 2.4/5/6 GHz, derived WiFi total) crashing with "'int' object has no attribute 'strip'" - the shared value_template's parse_result=True silently converts a bare number like "0" into a native int before it reaches our code.
  • Renamed "IP Address"/"IPv6 Address" to "External IP Address"/"External IPv6 Address" to avoid colliding with the new LAN IP Address sensor.
  • Renamed "Vendor" to "Manufacturer" to match its entity_id.
  • Wi-Fi 2.4/5/6 GHz Status sensors now show a dynamic wifi/wifi-off icon based on Active state.

v1.3.0

Choose a tag to compare

@pallemannen pallemannen released this 15 Aug 02:37
3c2cf4d

Large feature addition - scrapes four gateway pages now instead of one, sharing a single authenticated session:

  • network_setup.jst: DHCP Client (IPv4/IPv6), Vendor, Model, Product Type, Software Version, Bridge Message
  • connection_status.jst (new): LAN IP/Netmask/DHCP Server Status/Client Count, per-band (2.4/5/6 GHz) Wi-Fi status and client counts, derived Number of WiFi Clients
  • lan.jst (new): per-port (1-4) LAN connection status and speed, LAN MAC Address, derived LAN Connection and LAN Speed
  • wifi.jst (new): per-band Wi-Fi MAC addresses, derived overall MAC Address (LAN > 2.4GHz > 5GHz > 6GHz priority)
  • New binary sensors: DHCP Client, DHCPv6 Client, DHCP Server, Bridge Mode (custom Enabled/Disabled wording), WiFi, LAN Connection

v1.1.2

Choose a tag to compare

@pallemannen pallemannen released this 15 Aug 00:42
02ae95e

Reverts the temporary debug logging from v1.1.1 - the underlying scraping failure was just a wrong stored password, now fixed via Reconfigure. No functional change beyond turning log_response back off.

v1.1.0

Choose a tag to compare

@pallemannen pallemannen released this 14 Aug 23:40
28a9a0b
  • Icons for all 14 entities, shipped with the integration (Connection Status and Connectivity change based on state).
  • Config flow now correctly detects a failed login on gateways that return HTTP 200 for every page regardless of auth state, by checking for the login page's own header instead of relying on HTTP error codes.
  • Added a Reconfigure option (Settings -> Devices & Services -> Xfinity Gateway -> Reconfigure) to change host/username/password/scan interval without deleting and re-adding the integration.

v1.0.2

Choose a tag to compare

@pallemannen pallemannen released this 14 Aug 22:45
637a180

Fixed: config entry setup crashed with RuntimeError: This should only be used outside of config entries. — the coordinator's shutdown was being registered manually (correct for multiscrape's own YAML-only use, wrong for our config-entry-based setup, where HA core already handles it automatically).

v1.0.1

Choose a tag to compare

@pallemannen pallemannen released this 14 Aug 17:32

First release of the Xfinity Gateway custom integration.

  • Real HA integration depending on multiscrape, reusing its HTTP session / form-auth / scraper / coordinator internals directly instead of reimplementing them.
  • Config flow (host/username/password/scan interval), credentials validated live against the gateway during setup.
  • Native Connectivity and Last Reboot sensors, replacing manual Template Helpers. Last Reboot is anchored on the gateway's own reported clock, not Home Assistant's.
  • Fixed: config flow failing with "Failed dependencies multiscrape" when multiscrape has no multiscrape: YAML config of its own - the integration only needs multiscrape installed, not loaded.
  • Added Swedish (sv) translation.