{"id":20326739,"url":"https://github.com/infeeeee/ha-argos","last_synced_at":"2026-04-28T14:34:13.604Z","repository":{"id":118788859,"uuid":"490382238","full_name":"infeeeee/ha-argos","owner":"infeeeee","description":"Put Home Asstisant in your top bar!","archived":false,"fork":false,"pushed_at":"2022-05-15T21:36:51.000Z","size":99,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-07-04T14:36:21.754Z","etag":null,"topics":["argos","home-assistant","xbar"],"latest_commit_sha":null,"homepage":"","language":"Python","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/infeeeee.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}},"created_at":"2022-05-09T17:31:31.000Z","updated_at":"2022-05-11T14:23:41.000Z","dependencies_parsed_at":null,"dependency_job_id":"fa9ee68f-bdbe-4bba-bddc-42d9a637022c","html_url":"https://github.com/infeeeee/ha-argos","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/infeeeee/ha-argos","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infeeeee%2Fha-argos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infeeeee%2Fha-argos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infeeeee%2Fha-argos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infeeeee%2Fha-argos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/infeeeee","download_url":"https://codeload.github.com/infeeeee/ha-argos/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/infeeeee%2Fha-argos/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":32385180,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-28T14:34:11.604Z","status":"ssl_error","status_checked_at":"2026-04-28T14:32:37.009Z","response_time":56,"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":["argos","home-assistant","xbar"],"created_at":"2024-11-14T19:45:04.969Z","updated_at":"2026-04-28T14:34:13.585Z","avatar_url":"https://github.com/infeeeee.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ha-argos\n\nPut Home Asstisant in your top bar! An [Argos](https://github.com/p-e-w/argos)/[Kargos](https://github.com/lipido/kargos)/[Xbar](https://github.com/matryer/xbar)/[SwiftBar](https://github.com/swiftbar/SwiftBar) script.\n\n## Screenshots\n\nGnome/Argos:\n\n![](images/Screenshot%20from%202022-05-09%2023-54-36.png)\n\n## Comparison with other top bar clients\n\nNone of the existing top bar clients were suitable for me, so I wrote this one.\n\n| Name                                                                                              | Platforms               | Features | Configuration |\n| ------------------------------------------------------------------------------------------------- | ----------------------- | -------- | ------------- |\n| ha-argos                                                                                          | Linux (Gnome, Kde), ~~Mac~~ | Lot      | yaml file     |\n| [ha-menu](https://github.com/addyire/ha-menu)                                                     | Mac, Windows            | Lot      | json file     |\n| [Home Assistant Extension](https://extensions.gnome.org/extension/4170/home-assistant-extension/) | Linux (Gnome)           | Limited  | Gui           |\n\n## Install\n\n1. Install Argos, Kargos or Xbar\n2. Clone the repo or download as zip\n3. Install python and dependencies\n4. Make sure `ha-argos.py` and `ha-service.py` are executable\n5. Symlink `ha-argos.py` to the config dir\n6. Set up configuration.yaml\n\n### Example on a Debian based linux with pip:\n\nAfter installing Argos or Kargos:\n\n```shell\nsudo apt install python3 python3-pip\ngit clone https://github.com/infeeeee/ha-argos\ncd ha-argos\npip install -r requirements.txt\nchmod +x ha-argos.py ha-service.py\nln -s `readlink -f .`/ha-argos.py ~/.config/argos/\ncp configuration.yaml.example configuration.yaml\n```\n\n### Example on Arch:\n\nAfter installing Argos or Kargos:\n\n```shell\npacman -S python python-yaml python-requests python-lxml python-cairosvg\ngit clone https://github.com/infeeeee/ha-argos\ncd ha-argos\nchmod +x ha-argos.py ha-service.py\nln -s `readlink -f .`/ha-argos.py ~/.config/argos/\ncp configuration.yaml.example configuration.yaml\n```\n\n### Manual install on a mac\n\nAfter installing xbar or swiftbar and homebrew\n\n```shell\nbrew install git py3cairo \ngit clone https://github.com/infeeeee/ha-argos\ncd ha-argos\n$(brew --prefix)/opt/python/libexec/bin/pip install -r requirements.txt\nchmod +x ha-argos.py ha-service.py\n# With swiftbar use your manually set folder instead:\nln -s $PWD/ha-argos.py \"$HOME/Library/Application Support/xbar/plugins/\"\ncp configuration.yaml.example configuration.yaml\n```\n\n## Configuration\n\nEverything is set up in the `configuration.yaml`. Just place it next to the script. you can start from `configuration.yaml.example`, just copy and edit it. \n\nThe variable names are based on Home Assistant's Lovelace yaml config.\n\nTo reload the changed config use the reload button.\n\n### Basic configuration\n\n```yaml\nsettings:\n  url: https://myserver.url\n  token: my-secret-token\nlines:\n  - entity: sensor.livingroom_temperature\n    attribute:\n      - state\n      - unit_of_measurement\n    icon: mdi:home-assistant\n  - separator\n  - entity: light.livingroom\n    service: light.toggle\n    data: \n      brightness: 255\n  - name: Garage\n    icon: mdi:garage\n    entities:\n    - entity: cover.garage\n      service: cover.open_cover\n      name: Open garage door\n    - entity: cover.garage\n      service: cover.close_cover\n      name: Close garage door\n```\n\n## All config options\n\n### Settings\n\n```yaml\nsettings:\n  url: https://myserver.url\n  token: my-secret-token\n  icon_color: ffffff\n  icon_size: 22\n```\n\n`url`: [required] The full url of your Home Assistace instance. Include http(s) at the beginning and port umber at the end.\n\n`token`: [required] Your long-lived access token. You can generate this on your profile. [Official help.](https://www.home-assistant.io/docs/authentication/#your-account-profile)\n\nCreate token on your instance: [![Open your Home Assistant instance and show your Home Assistant user's profile.](https://my.home-assistant.io/badges/profile.svg)](https://my.home-assistant.io/redirect/profile/)\n\n`icon_color`: [optional] [Argos only] The color of the icon. Defaults to black. Add an RGB hex code, without the `#` sign\n\n`icon_size`: [optional] [Argos only] The width of the image in pixels, it's the `imageWidth` Argos parameter: [Argos help](https://github.com/p-e-w/argos#line-attributes)\n\n### Lines\n\nIn this section just put the lines on the same order as they will show up on the dropdown. Possible lines:\n- `separator`\n- `entity`\n- `entities`\n\n#### Separator\n\nA separator between lines. One separator is required: `entity` lines above the first separator display on the bar. If multiple `entity` lines are above the first `separator` they will cycle, and each will be displayed for 3 seconds.\n\nAfter the first `separator` latter ones will display as a horizontal line.\n\n#### Entity\n\n```yaml\nlines:\n  - entity: sensor.livingroom_temperature\n    attribute:\n      - state\n      - unit_of_measurement\n    icon: mdi:home-assistant\n  # Another example:\n  - entity: light.livingroom\n    service: light.toggle\n    icon: mdi:ceiling-light\n    name: Livingroom ceiling light\n    data:\n        brightness: 255\n        color_temp: 423\n  # Example to show what's playing on a media player:\n  - entity: media_player.mpd\n    attribute_separator: ' - '\n    attribute:\n    - media_artist\n    - media_title\n```\n\n`entity`: [required] A entity id from Home Assistant. If the `service` is a Home Assistant script, it can be omitted.\n\n`name`: [optional] The name how it should appear. If omitted, it will display the attribute selected. If attribute omitted, it will display the `friendly_name` attribute of the entity.\n\n`attribute`: [optional] An attribute or a list of attributes to get from Home Assistant.\n\n`service`: [optional] A service to run when this line is clicked.\n\n`data`: [optional] Data for the service\n\n`prefix`: [optional] Some text before any other data. Useful to write something about sensors.\n\n`attribute_separator`: [optional] Use this character between multiple attributes. Defaults to a ` ` space character. \n\n`icon:` [optional] An icon for that line. It depends on the prefix of this line, where it will get the icon:\n\n- `gtk:` [argos only] A gtk icon will be displayed. See possible values on [freedesktop.org icon naming specification](https://specifications.freedesktop.org/icon-naming-spec/icon-naming-spec-latest.html)\n- `mdi:` Material Design Icon, as on Home Assistant ui\n- Without prefix a base64 encoded image can be added\n\n#### Entities\n\nA dropdown list of other entities.\n\n```yaml\nlines:\n  - name: A list of entities\n    icon: gtk:view-list\n    entities:\n    - entity: sensor.mysensor\n      attribute: \n    - entity: light.livingroom\n      service: light.toggle\n```\n\n`entities`: [required] A list of entities. Separator is also possible. All options available for them as normal `entity` lines.\n\n`name`: [optional] The title of the dropdown. \n\n`icon`: [optional] Same as for `entity` lines\n\n## Troubleshooting\n\nOpen an issue if something isn't working!\n\n### Running the script in terminal\n\nThe script is an executable, so if you just simply run it in the terminal you should see some sane output. You can check the exact error message, while it's hidden on the gui. It's also possible to hide the long base64 image strings with the argument `--noimage`, so it's easier to read the code:\n\n```shell\ncd ha-argos\n./ha-argos.py --noimage\n```\n\n#### All script arguments:\n\n`--noimage`: Do not add images\n\n`--nocache`: Do not cache images\n\n### Cache\n\nThe script caches the icons and `friendly_name`s of the entities to a `cache.json` file. If some icons or names are not updating, just simply delete this file, it will be recreated during next call to Home Assistant.\n\n## License\n\nMIT","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfeeeee%2Fha-argos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Finfeeeee%2Fha-argos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Finfeeeee%2Fha-argos/lists"}