{"id":40078616,"url":"https://github.com/simonjgreen/sageha","last_synced_at":"2026-04-25T12:07:21.678Z","repository":{"id":333432634,"uuid":"1137314397","full_name":"simonjgreen/sageha","owner":"simonjgreen","description":"Home Assistant integration for Sage/Breville Wi-Fi enabled coffee machines","archived":false,"fork":false,"pushed_at":"2026-03-14T21:54:17.000Z","size":87,"stargazers_count":4,"open_issues_count":5,"forks_count":2,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-03-15T06:50:49.997Z","etag":null,"topics":["coffee","coffee-machine","hacs","hacs-integration","home-assistant"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/simonjgreen.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2026-01-19T07:57:20.000Z","updated_at":"2026-03-14T21:53:21.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/simonjgreen/sageha","commit_stats":null,"previous_names":["simonjgreen/sageha"],"tags_count":20,"template":false,"template_full_name":null,"purl":"pkg:github/simonjgreen/sageha","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonjgreen%2Fsageha","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonjgreen%2Fsageha/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonjgreen%2Fsageha/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonjgreen%2Fsageha/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/simonjgreen","download_url":"https://codeload.github.com/simonjgreen/sageha/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/simonjgreen%2Fsageha/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32261194,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-25T09:15:33.318Z","status":"ssl_error","status_checked_at":"2026-04-25T09:15:31.997Z","response_time":59,"last_error":"SSL_read: 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":["coffee","coffee-machine","hacs","hacs-integration","home-assistant"],"created_at":"2026-01-19T09:04:01.053Z","updated_at":"2026-04-25T12:07:16.668Z","avatar_url":"https://github.com/simonjgreen.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Sage Coffee Home Assistant Integration\n\n[![hacs_badge](https://img.shields.io/badge/HACS-Custom-41BDF5.svg)](https://github.com/hacs/integration)\n\nHome Assistant custom integration for Sage/Breville connected coffee machines.\n\n## Features\n\n- **Power Control**: Turn your coffee machine on (wake) and off (sleep)\n- **Real-time State Monitoring**: See if your machine is ready, warming up, or asleep\n- **Temperature Sensors**: Monitor brew and steam boiler temperatures\n- **Configuration Sensors**: View theme, brightness, grind size, and more\n- **Wake Schedule**: See when your machine is next scheduled to switch on automatically\n- **Firmware Version**: Check the installed firmware version from the device page\n\n## Supported Machines\n\nThis integration uses the [sagecoffee](https://github.com/simonjgreen/sagecoffee) library and supports WiFi-connected Sage/Breville machines. At time of publication this is only:\n\n- Sage/breville Oracle Dual Boiler (BES995)\n\n## Installation\n\n### HACS (Recommended)\n\n1. Open HACS in Home Assistant\n2. Click the three dots in the top right corner\n3. Select \"Custom repositories\"\n4. Add `https://github.com/simonjgreen/sageha` as a custom repository (Category: Integration)\n5. Click \"Add\"\n6. Find \"Sage Coffee\" in the HACS integrations list and install it\n7. Restart Home Assistant\n\n### Manual Installation\n\n1. Download the `custom_components/sagecoffee` folder from this repository\n2. Copy it to your Home Assistant `config/custom_components/` directory\n3. Restart Home Assistant\n\n## Configuration\n\n1. Go to **Settings** → **Devices \u0026 Services**\n2. Click **Add Integration**\n3. Search for \"Sage Coffee\"\n4. Choose your authentication method:\n   - **Email and Password**: Enter your Sage/Breville account credentials\n   - **Refresh Token**: If you already have a refresh token from the sagectl CLI tool\n   - **Machine Type**: Select Sage (Europe) or Breville (Rest of the world)\n\n### Getting a Refresh Token (Advanced)\n\nIf you prefer not to enter your password in Home Assistant, you can use the sagectl CLI tool to obtain a refresh token:\n\n```bash\npip install sagecoffee\nsagectl bootstrap --username your.email@example.com\n```\n\nThen paste the refresh token from `~/.config/sagecoffee/config.toml` into Home Assistant.\n\n## Entities\n\nFor each coffee machine, the integration creates:\n\n### Switch\n\n| Entity | Description                               |\n| ------ | ----------------------------------------- |\n| Power  | Turn the machine on (wake) or off (sleep) |\n\n### Text\n\n| Entity | Description                               |\n| ------ | ----------------------------------------- |\n| Name   | Set appliance name                        |\n\n### Select\n\n| Entity | Description                               |\n| ------ | ----------------------------------------- |\n| Theme  | Set theme (dark/light)                    |\n\n### Light\n\n| Entity     | Description                                      |\n| ---------- | ------------------------------------------------ |\n| Work Light | Cup warmer illumination — on/off with brightness |\n\n### Number\n\n| Entity             | Description                       |\n| ------------------ | --------------------------------- |\n| Display Brightness | Set display brightness percentage |\n| Volume             | Set volume level percentage       |\n\n### Sensors\n\n| Entity                   | Description                                    |\n| ------------------------ | ---------------------------------------------- |\n| State                    | Current machine state (ready, warming, asleep) |\n| Brew Temperature         | Current brew boiler temperature                |\n| Brew Target Temperature  | Target brew boiler temperature                 |\n| Steam Temperature        | Current steam boiler temperature               |\n| Steam Target Temperature | Target steam boiler temperature                |\n| Theme                    | Display theme (dark/light)                     |\n| Display Brightness       | Display brightness percentage                  |\n| Grind Size               | Current grinder setting                        |\n| Volume                   | Volume level percentage                        |\n| Auto-off Time            | Idle time before auto-sleep (minutes)          |\n| Next Wake Time           | Next scheduled automatic wake time             |\n| Firmware Version         | Installed firmware version (diagnostic)        |\n\n## Actions\n\n### Enable wake schedule\n```yaml\naction: sagecoffee.set_wake_schedule\ndata:\n  serial: YOUR_SERIAL_NUMBER\n  hours: 7\n  minutes: 30\n  days:\n    - mon\n    - tue\n    - wed\n    - thu\n    - fri\n```\n\nThe `days` field is optional. If omitted, the schedule runs every day. The `enabled` field (default `true`) can be set to `false` to create a disabled schedule.\n\n### Disable wake schedule\n\n```yaml\naction: sagecoffee.disable_wake_schedule\ndata:\n  serial: YOUR_SERIAL_NUMBER\n```\n\n## Automations\n\nHere are some example automations you can create:\n\n### Wake up machine before your morning alarm\n\n```yaml\nautomation:\n  - alias: \"Morning Coffee Warmup\"\n    trigger:\n      - platform: time\n        at: \"06:30:00\"\n    condition:\n      - condition: time\n        weekday:\n          - mon\n          - tue\n          - wed\n          - thu\n          - fri\n    action:\n      - service: switch.turn_on\n        target:\n          entity_id: switch.oracle_dual_boiler_power\n```\n\n### Notification when machine is ready\n\n```yaml\nautomation:\n  - alias: \"Coffee Machine Ready\"\n    trigger:\n      - platform: state\n        entity_id: sensor.oracle_dual_boiler_state\n        to: \"ready\"\n    action:\n      - service: notify.mobile_app\n        data:\n          message: \"Coffee machine is ready!\"\n```\n\n## Troubleshooting\n\n### Authentication Issues\n\n- Ensure your Sage/Breville account credentials are correct\n- Try using the sagectl CLI tool to verify your credentials work\n- Check that your machine is connected to WiFi and visible in the Sage/Breville app\n\n### Connection Issues\n\n- The integration uses WebSocket for real-time updates; ensure your Home Assistant instance can reach `iot-api-ws.breville.com`\n- Check Home Assistant logs for detailed error messages\n\n### Machine Not Found\n\n- Ensure your machine is paired with your Sage/Breville account\n- Try re-pairing the machine using the official Sage/Breville app\n\n## Removal\n\n1. Go to **Settings** → **Devices \u0026 Services**\n2. Find \"Sage Coffee\" and click on it\n3. Click the three dots menu and select **Delete**\n4. If installed via HACS, also remove it there: go to **HACS** → find \"Sage Coffee\" → click the three dots menu → **Remove**\n5. Restart Home Assistant if prompted\n\n## Contributing\n\nContributions are welcome! Please open an issue or pull request on the [GitHub repository](https://github.com/simonjgreen/sageha).\n\n## License\n\nThis project is licensed under the MIT License.\n\n## Disclaimer\n\nThis is an unofficial integration. It is not affiliated with, endorsed by, or supported by Breville or Sage. Use at your own risk.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonjgreen%2Fsageha","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsimonjgreen%2Fsageha","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsimonjgreen%2Fsageha/lists"}