{"id":44160659,"url":"https://github.com/soulripper13/hass-speedtest-ookla","last_synced_at":"2026-04-01T19:02:11.724Z","repository":{"id":290536762,"uuid":"974778658","full_name":"soulripper13/hass-speedtest-ookla","owner":"soulripper13","description":"Home Assistant integration for measuring internet speed using ookla speedtest-cli.","archived":false,"fork":false,"pushed_at":"2026-02-18T09:04:48.000Z","size":3604,"stargazers_count":17,"open_issues_count":0,"forks_count":4,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-18T12:56:22.174Z","etag":null,"topics":["hacs-integration","sensor","speedtest-cli"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/soulripper13.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-29T09:42:21.000Z","updated_at":"2026-02-18T08:44:09.000Z","dependencies_parsed_at":"2026-01-29T14:01:52.925Z","dependency_job_id":null,"html_url":"https://github.com/soulripper13/hass-speedtest-ookla","commit_stats":null,"previous_names":["soulripper13/hass-speedtest-ookla"],"tags_count":16,"template":false,"template_full_name":null,"purl":"pkg:github/soulripper13/hass-speedtest-ookla","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulripper13%2Fhass-speedtest-ookla","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulripper13%2Fhass-speedtest-ookla/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulripper13%2Fhass-speedtest-ookla/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulripper13%2Fhass-speedtest-ookla/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/soulripper13","download_url":"https://codeload.github.com/soulripper13/hass-speedtest-ookla/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/soulripper13%2Fhass-speedtest-ookla/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29609524,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-19T06:47:36.664Z","status":"ssl_error","status_checked_at":"2026-02-19T06:45:47.551Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["hacs-integration","sensor","speedtest-cli"],"created_at":"2026-02-09T07:39:23.095Z","updated_at":"2026-02-19T09:39:07.874Z","avatar_url":"https://github.com/soulripper13.png","language":"JavaScript","funding_links":["https://paypal.me/SKatoaroo"],"categories":[],"sub_categories":[],"readme":"# Ookla Speedtest Integration for Home Assistant\n\n[![HACS Default](https://img.shields.io/badge/HACS-Default-orange.svg?style=for-the-badge)](https://github.com/hacs/default)\n[![GitHub Release](https://img.shields.io/github/release/soulripper13/hass-speedtest-ookla.svg?style=for-the-badge)](https://github.com/soulripper13/hass-speedtest-ookla/releases)\n[![GitHub Issues](https://img.shields.io/github/issues/soulripper13/hass-speedtest-ookla.svg?style=for-the-badge)](https://github.com/soulripper13/hass-speedtest-ookla/issues)\n![Downloads](https://img.shields.io/badge/dynamic/json?color=41BDF5\u0026logo=home-assistant\u0026label=Downloads\u0026suffix=%20installs\u0026cacheSeconds=15600\u0026style=for-the-badge\u0026url=https://analytics.home-assistant.io/custom_integrations.json\u0026query=$.ookla_speedtest.total)\n\n[![Support Development](https://img.shields.io/badge/Support-Development-FFDD00?style=for-the-badge\u0026logo=paypal\u0026logoColor=black)](#support-the-project)\n\n---\n\nThe **Ookla Speedtest** integration allows you to measure and monitor your internet connection performance directly in Home Assistant using the official **Ookla `speedtest-cli`** tool.\n\nIt provides sensors for latency, download speed, upload speed, jitter, ISP information, and the test server used — with support for both **automatic** and **manual** testing.\n\n\u003cimg width=\"1043\" alt=\"card-example\" src=\"https://github.com/user-attachments/assets/87633825-55bc-4819-a67d-1a79030ad8a1\" /\u003e\n\n---\n\n## Features\n\n### 📊 Sensors\n- **Ping** (ms) – Network latency\n- **Download** (Mbit/s)\n- **Upload** (Mbit/s)\n- **Jitter** (ms) – Network stability\n- **Bufferbloat Grade** – Latency stability rating (A-F)\n- **Download/Upload Plan Compliance** (%) – Speed vs. ISP rated plan\n- **Last Test** – Timestamp of the last successful test\n- **Server** – Name and location of the test server\n- **ISP** – Detected Internet Service Provider\n\n### ⚙️ Flexible Testing\n- Automatically select the closest server\n- Choose from the 10 nearest servers\n- Manually specify a server ID\n- **Precise Scheduling**: Run tests at a specific time (e.g., \"every hour on the hour\")\n- Automatic testing at a configurable interval\n- Manual-only mode for on-demand testing\n\n### 🧭 User-Friendly Setup\n- Full UI-based setup and reconfiguration\n- Clear descriptions for every option\n- Automatic integration reload on configuration changes\n- No YAML required\n\n### ▶️ Service Support\n- Run tests on demand via:\n```\n\nookla_speedtest.run_speedtest\n\n```\n\n---\n\n## Installation\n\nThis integration is designed to be installed via **HACS**.\n\n### 1️⃣ Add the Repository\n- Go to **HACS → Integrations → ⋮ → Custom repositories**\n- Add:\n```\n\n[https://github.com/soulripper13/hass-speedtest-ookla](https://github.com/soulripper13/hass-speedtest-ookla)\n\n````\n- Category: **Integration**\n\n[![Open in HACS](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=soulripper13\u0026repository=hass-speedtest-ookla\u0026category=integration)\n\n---\n\n### 2️⃣ Install\n- Search for **Ookla Speedtest** in HACS\n- Click **Download**\n\n---\n\n### 3️⃣ Restart Home Assistant\n- Go to **Settings → System → Restart**\n\n---\n\n### 4️⃣ Add the Integration\n- Go to **Settings → Devices \u0026 Services → Add Integration**\n- Search for **Ookla Speedtest**\n\n[![Add Integration](https://my.home-assistant.io/badges/config_flow_start.svg)](https://my.home-assistant.io/redirect/config_flow_start/?domain=ookla_speedtest)\n\n---\n\n## Configuration\n\n![Configuration Options](images/options-flow.png)\n\nAll configuration is handled through the Home Assistant UI.\n\n### Options\n\n#### **Speedtest Server**\n- Closest server (automatic)\n- Select from 10 nearest servers\n- Manual server ID\n\n\u003e Tip: Server IDs can be found at  \n\u003e https://www.speedtest.net/speedtest-servers-static.php\n\n#### **Manual Server ID**\n- Required only when manual mode is selected\n\n#### **Manual Mode**\n- **Enabled**: Tests run only when triggered manually\n- **Disabled**: Tests run automatically\n- Default: **Enabled**\n\n#### **Scan Interval**\n- How often to run automatic tests\n- Configurable via Duration Selector (e.g., 1 hour, 30 minutes)\n- Default: **24 hours**\n- *Note: Lower values consume more bandwidth.*\n\n#### **Start Time**\n- Optional: Set a specific time for the schedule to start (e.g., `14:00:00`)\n- Useful for aligning tests (e.g., set Start Time to `00:00:00` and Interval to `1 hour` to run exactly on the hour)\n\n---\n\n### Reconfiguring\n1. Go to **Settings → Devices \u0026 Services**\n2. Select **Ookla Speedtest**\n3. Click **Configure**\n4. Update options\n5. Integration reloads automatically\n\n---\n\n## Usage\n\n### 📊 Sensors Created\n\nThe integration creates a comprehensive set of sensors. Some are enabled by default, while others can be enabled via the Home Assistant UI.\n\n#### **Enabled by Default**\n- `sensor.ookla_speedtest_download` (Mbps)\n- `sensor.ookla_speedtest_upload` (Mbps)\n- `sensor.ookla_speedtest_ping` (ms)\n- `sensor.ookla_speedtest_jitter` (ms)\n- `sensor.ookla_speedtest_bufferbloat_grade` (A-F)\n- `sensor.ookla_speedtest_isp`\n- `sensor.ookla_speedtest_server`\n- `sensor.ookla_speedtest_last_test`\n- `sensor.ookla_speedtest_result_url`\n\n#### **Extended Metrics (Disabled by Default)**\n*Go to Integration Settings → Entities to enable these.*\n\n**Latency Metrics:**\n- `sensor.ookla_speedtest_ping_low` (Idle Min)\n- `sensor.ookla_speedtest_ping_high` (Idle Max)\n- `sensor.ookla_speedtest_ping_during_download` (Avg)\n- `sensor.ookla_speedtest_ping_low_during_download` (Min)\n- `sensor.ookla_speedtest_ping_high_during_download` (Max)\n- `sensor.ookla_speedtest_ping_during_upload` (Avg)\n- `sensor.ookla_speedtest_ping_low_during_upload` (Min)\n- `sensor.ookla_speedtest_ping_high_during_upload` (Max)\n\n**Stability \u0026 Compliance:**\n- `sensor.ookla_speedtest_download_percent` (Plan Compliance %)\n- `sensor.ookla_speedtest_upload_percent` (Plan Compliance %)\n- `sensor.ookla_speedtest_jitter_during_download` (ms)\n- `sensor.ookla_speedtest_jitter_during_upload` (ms)\n\n---\n\n### Automation Example\n\nRun a speed test every day at midnight:\n\n```yaml\nautomation:\n- alias: Daily Speedtest\n  trigger:\n    - platform: time\n      at: \"00:00:00\"\n  action:\n    - service: ookla_speedtest.run_speedtest\n````\n\n---\n\n## 🎨 Lovelace Cards (Auto-Setup!)\n\nThis integration includes **beautiful, custom Lovelace cards** that work out of the box - no external dependencies required!\n\n### ✨ New in v1.1.0: Glassmorphism Design\nThe cards have been completely redesigned with a modern **Glassmorphism** aesthetic, featuring:\n- 🌫️ **Frosted Glass Effect**: Semitransparent backgrounds with blur\n- 🌈 **Gradient Gauges \u0026 Charts**: Beautiful, smooth color transitions\n- 📱 **Responsive Layouts**: Looks great on mobile and desktop\n- 🖱️ **Visual Editor**: Configure settings directly in the UI!\n\n### 📦 Built-in Cards\n\n| Card | Description | Preview |\n|------|-------------|---------|\n| `ookla-speedtest-card` | **Full Interface** with radial gauges, \"GO\" button, and Glassmorphism design. Best for main dashboards. | ![Ookla Speedtest Card](images/ookla-speedtest-card.png) |\n| `ookla-speedtest-dashboard` | **Dashboard** view with sparkline area charts and detailed metrics. Perfect for network overviews. | ![Dashboard Card](images/ookla-speedtest-dashboard.png) |\n| `ookla-speedtest-minimal` | Clean design with large typography. Ideal for minimalist setups. | ![Minimal Card](images/ookla-speedtest-minimal.png) |\n| `ookla-speedtest-compact` | Small single-line card. Great for side panels or dense views. | ![Compact Card](images/ookla-speedtest-compact.png) |\n| `ookla-speedtest-card-simple` | Basic simplified version for testing and quick setups. | ![Simple Card](images/ookla-speedtest-card-simple.png) |\n\n### 🚀 Zero-Config Setup\n\n**Cards are automatically registered when Home Assistant starts!**\n\n1. Install the integration\n2. Restart Home Assistant\n3. Go to your Dashboard → Edit Dashboard → Add Card\n4. Search for **\"Ookla\"**\n5. Select a card and configure it visually!\n\n\u003e **Note:** If cards don't appear immediately, you can force registration by calling the `ookla_speedtest.register_card_resources` service in Developer Tools, or simply refresh your browser cache.\n\n### 🎯 Visual Configuration\n\nThe **Ookla Speedtest Card** now supports the visual editor! You can easily adjust:\n- **Max Download Speed** (for gauge scaling)\n- **Max Upload Speed** (for gauge scaling)\n\nNo YAML required! Just add the card and use the form.\n\n```yaml\n# Minimal YAML example if you prefer code\ntype: custom:ookla-speedtest-card\n# Configurable via UI:\nmax_download: 1000 \nmax_upload: 500\n```\n\n📖 **[Full Card Documentation](custom_components/ookla_speedtest/www/README.md)**\n\n---\n\n## Alternative: Custom Card Combinations\n\nIf you prefer building cards from existing components, here's an example using `apexcharts-card` and `layout-card`:\n\n**Required:** Install `apexcharts-card`, `layout-card`, and `card-mod` via HACS.\n\n```yaml\ntype: custom:layout-card\nlayout_type: custom:vertical-layout\nlayout:\n  width: 320\n  card_margin: 0px\ncards:\n  - type: custom:apexcharts-card\n    chart_type: radialBar\n    header:\n      show: true\n      title: Speedtest\n    series:\n      - entity: sensor.ookla_speedtest_download\n        name: Download\n        min: 0\n        max: 1000\n      - entity: sensor.ookla_speedtest_upload\n        name: Upload\n        min: 0\n        max: 500\n```\n\n---\n\n## Troubleshooting\n\n* **Setup fails**: Check logs at\n  **Settings → System → Logs**\n* **Configure button error**: Fixed in v2.0.0\n* **No server list**: Try closest server or manual ID\n* **Card not displaying**: Ensure required custom cards are installed\n\n---\n\n## Debug Logging\n\n```yaml\nlogger:\n  default: info\n  logs:\n    custom_components.ookla_speedtest: debug\n```\n\n---\n\n## Support the Project\n\nThis integration is developed and maintained in spare time and is provided free to the Home Assistant community.\n\nIf you find it useful and would like to support ongoing development, maintenance, and improvements, any contribution is appreciated — but never required ❤️\n\n### Ways to Support\n\n* **PayPal**\n  [https://paypal.me/SKatoaroo](https://paypal.me/SKatoaroo)\n\n* **Bitcoin (BTC)**\n  `bc1qvu8a9gdy3dcxa94jge7d3rd7claapsydjsjxn0`\n\n* **Solana (SOL)**\n  `4jvCR2YFQLqguoyz9qAMPzVbaEcDsG5nzRHFG8SeaeBK`\n\nYou can also help by:\n\n* Reporting bugs\n* Submitting pull requests\n* Suggesting features\n* Helping other users\n* Starring the repository ⭐\n\nThank you for being part of the Home Assistant community.\n\n---\n\n## License\n\nMIT License\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoulripper13%2Fhass-speedtest-ookla","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsoulripper13%2Fhass-speedtest-ookla","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsoulripper13%2Fhass-speedtest-ookla/lists"}