{"id":31826058,"url":"https://github.com/faserf/ha-gsa","last_synced_at":"2026-02-01T16:03:23.646Z","repository":{"id":318676315,"uuid":"1072289334","full_name":"FaserF/ha-gsa","owner":"FaserF","description":"Homeassistant Integration for fetching latest Global Secure Access client version","archived":false,"fork":false,"pushed_at":"2025-12-31T13:56:32.000Z","size":21,"stargazers_count":0,"open_issues_count":3,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-01-04T21:44:36.524Z","etag":null,"topics":["hacs-integration","homeassistant"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/FaserF.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":".github/CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":".github/CODEOWNERS","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},"funding":{"github":"faserf","custom":"https://paypal.me/FaserF"}},"created_at":"2025-10-08T14:12:15.000Z","updated_at":"2025-12-16T09:20:50.000Z","dependencies_parsed_at":"2025-10-08T16:22:25.258Z","dependency_job_id":"cd553d57-6d43-419a-8e34-e698bae39c93","html_url":"https://github.com/FaserF/ha-gsa","commit_stats":null,"previous_names":["faserf/ha-gsa"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/FaserF/ha-gsa","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FaserF%2Fha-gsa","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FaserF%2Fha-gsa/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FaserF%2Fha-gsa/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FaserF%2Fha-gsa/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/FaserF","download_url":"https://codeload.github.com/FaserF/ha-gsa/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/FaserF%2Fha-gsa/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28981893,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-01T15:35:50.179Z","status":"ssl_error","status_checked_at":"2026-02-01T15:35:38.075Z","response_time":56,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6: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","homeassistant"],"created_at":"2025-10-11T16:58:48.303Z","updated_at":"2026-02-01T16:03:23.640Z","avatar_url":"https://github.com/FaserF.png","language":"Python","funding_links":["https://github.com/sponsors/faserf","https://paypal.me/FaserF"],"categories":[],"sub_categories":[],"readme":"[![hacs_badge](https://img.shields.io/badge/HACS-Custom-41BDF5.svg?style=for-the-badge)](https://github.com/hacs/integration)\n![CI](https://github.com/FaserF/ha-gsa/actions/workflows/ci.yml/badge.svg)\n\n# Microsoft Global Secure Access Version Sensor 🔒\n\nThis Home Assistant integration tracks the latest available versions of the Microsoft Global Secure Access Client for Windows and macOS by scraping the official Microsoft Learn release notes.\n\n## Features ✨\n\n- **Multi-Platform Support**: Monitors versions for both Windows and macOS.\n- **Robust Scraping**: Uses a multi-layered approach to find version information even if the website layout changes slightly.\n- **Persistent Failure Detection**: Automatically detects if version information cannot be fetched for a prolonged period.\n- **Home Assistant Repairs**: If scraping fails for more than 24 hours, a Repair issue is created in Home Assistant with a link to report the problem on GitHub.\n- **Update Notifications Ready**: Easily set up automations to get notified as soon as a new version is released.\n\n## Installation 🛠️\n\n### 1. Using HACS (Recommended)\n\n1. Ensure [HACS](https://hacs.xyz/) is installed.\n2. Go to **HACS** -\u003e **Integrations**.\n3. Click the three dots in the top right corner and select **Custom repositories**.\n4. Add `https://github.com/FaserF/ha-gsa` with category `Integration`.\n5. Click **Add**.\n6. Find \"Microsoft Global Secure Access Version\" and click **Download**.\n7. Restart Home Assistant.\n\n### 2. Manual Installation\n\n1. Download the latest release source code.\n2. Copy the `custom_components/global_secure_access_version` directory into your Home Assistant's `custom_components` folder.\n3. Restart Home Assistant.\n\n## Configuration ⚙️\n\n1. In Home Assistant, go to **Settings** -\u003e **Devices \u0026 Services**.\n2. Click **Add Integration**.\n3. Search for **Microsoft Global Secure Access Version** and follow the prompts.\n\n## Troubleshooting \u0026 Repairs 🛠️\n\n### Troubleshooting\nIf the sensors are showing `Unavailable`, first check your Home Assistant logs. You can enable debug logging for this integration:\n\n```yaml\nlogger:\n  logs:\n    custom_components.global_secure_access_version: debug\n```\n\n### Repairs Integration\nThis integration proactively monitors its own health. If Microsoft changes their website layout and the scraping logic fails consistently for **24 hours**, a notification will appear in your **Settings -\u003e Repairs** section. This serves as a clear indicator that the integration needs an update, and it provides a direct link to open a GitHub issue.\n\n## Automation Examples 🚀\n\nHere are some detailed examples of how to use these sensors in your automations. The examples are collapsed in `\u003cdetails\u003e` blocks to keep the README clean.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e1. Persistent Notification (In Home Assistant)\u003c/b\u003e\u003c/summary\u003e\n\nCreates a notification directly in the Home Assistant sidebar, including the changelog.\n\n```yaml\nalias: \"GSA: New Version Notification\"\ndescription: \"Creates a persistent notification for GSA updates\"\ntrigger:\n  - platform: state\n    entity_id:\n      - sensor.gsa_latest_version_windows\n      - sensor.gsa_latest_version_macos\ncondition:\n  - condition: template\n    value_template: \"{{ trigger.from_state.state not in ['unknown', 'unavailable'] }}\"\n  - condition: template\n    value_template: \"{{ trigger.to_state.state != trigger.from_state.state }}\"\naction:\n  - service: notify.persistent_notification\n    data:\n      title: \"New GSA Version: {{ trigger.to_state.name }}\"\n      message: |\n        A new version of the Global Secure Access Client is available!\n\n        **Version:** {{ trigger.to_state.state }}\n        **Release Date:** {{ state_attr(trigger.entity_id, 'release_day') }}\n\n        **Changelog:**\n        {{ state_attr(trigger.entity_id, 'changelog') }}\n\n        [Download / Changelog]({{ state_attr(trigger.entity_id, 'data_provided_by') }})\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e2. WhatsApp Notification\u003c/b\u003e\u003c/summary\u003e\n\nSends an update directly to your phone via WhatsApp.\n\n```yaml\nalias: \"WhatsApp: GSA Update\"\ntrigger:\n  - platform: state\n    entity_id: sensor.gsa_latest_version_windows\ncondition:\n  - condition: template\n    value_template: \"{{ trigger.from_state.state not in ['unknown', 'unavailable'] }}\"\naction:\n  - service: notify.whatsapp_me # Your service name may vary\n    data:\n      message: \"🚀 New Global Secure Access Version for Windows: {{ states('sensor.gsa_latest_version_windows') }} (Date: {{ state_attr('sensor.gsa_latest_version_windows', 'release_day') }})\"\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e3. Telegram Notification (With HTML Formatting)\u003c/b\u003e\u003c/summary\u003e\n\nUses HTML for nice formatting including a direct link to the web view.\n\n```yaml\nalias: \"Telegram: GSA Version Update\"\ntrigger:\n  - platform: state\n    entity_id: sensor.gsa_latest_version_windows\ncondition:\n  - condition: template\n    value_template: \"{{ trigger.from_state.state not in ['unknown', 'unavailable'] }}\"\naction:\n  - service: notify.telegram_bot # Your Telegram Notify Service\n    data:\n      message: |\n        \u003cb\u003e🚀 New GSA Windows Update!\u003c/b\u003e\n\n        Version: \u003ccode\u003e{{ states('sensor.gsa_latest_version_windows') }}\u003c/code\u003e\n        Date: {{ state_attr('sensor.gsa_latest_version_windows', 'release_day') }}\n\n        \u003ca href=\"{{ state_attr('sensor.gsa_latest_version_windows', 'data_provided_by') }}\"\u003e🔗 Open Release Notes\u003c/a\u003e\n```\n\u003c/details\u003e\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003cb\u003e4. Mobile App Push (iOS/Android)\u003c/b\u003e\u003c/summary\u003e\n\nNative mobile notification that opens the Microsoft release page directly when clicked.\n\n```yaml\nalias: \"Mobile: GSA Update Alarm\"\ntrigger:\n  - platform: state\n    entity_id: sensor.gsa_latest_version_windows\naction:\n  - service: notify.mobile_app_your_phone\n    data:\n      title: \"GSA Update Available\"\n      message: \"Version {{ states('sensor.gsa_latest_version_windows') }} has been released.\"\n      data:\n        url: \"{{ state_attr('sensor.gsa_latest_version_windows', 'data_provided_by') }}\"\n        clickAction: \"{{ state_attr('sensor.gsa_latest_version_windows', 'data_provided_by') }}\"\n```\n\u003c/details\u003e\n\n## Contributions \u0026 Issues 🤝\nIf you encounter any issues or have suggestions, please [open an issue](https://github.com/FaserF/ha-gsa/issues) on GitHub. Contributions are always welcome!\n\n---\n*Disclaimer: This integration is not an official Microsoft product. It relies on scraping public documentation.*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaserf%2Fha-gsa","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ffaserf%2Fha-gsa","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ffaserf%2Fha-gsa/lists"}