{"id":16999059,"url":"https://github.com/maxandersen/hass-cli","last_synced_at":"2026-04-16T05:33:36.763Z","repository":{"id":66828882,"uuid":"158138033","full_name":"maxandersen/hass-cli","owner":"maxandersen","description":null,"archived":false,"fork":false,"pushed_at":"2018-11-20T10:27:03.000Z","size":26,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-06-03T02:15:52.942Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/maxandersen.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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":"2018-11-18T23:44:07.000Z","updated_at":"2019-04-08T17:52:20.000Z","dependencies_parsed_at":"2023-02-21T06:16:14.782Z","dependency_job_id":null,"html_url":"https://github.com/maxandersen/hass-cli","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/maxandersen/hass-cli","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxandersen%2Fhass-cli","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxandersen%2Fhass-cli/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxandersen%2Fhass-cli/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxandersen%2Fhass-cli/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/maxandersen","download_url":"https://codeload.github.com/maxandersen/hass-cli/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/maxandersen%2Fhass-cli/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31872652,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2024-10-14T04:07:01.488Z","updated_at":"2026-04-16T05:33:36.745Z","avatar_url":"https://github.com/maxandersen.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"Home Assistant Command-line Interface (``hass-cli``)\n====================================================\n\nThe Home Assistant Command-line interface (``hass-cli``) allows one to\nwork with a local or a remote `Home Assistant \u003chttps://home-assistant.io\u003e`_\ninstance directly from the command-line.\n\nExamples:\n\nGet state of a entity:\n\n.. code:: bash\n\n    $ hass-cli get state sensor\n    hass-cli  get state light.guestroom_light                                                                                                                                                                       ◼\n    {\n      \"attributes\": {\n        \"friendly_name\": \"Guestroom Light\",\n        \"is_deconz_group\": false,\n        \"supported_features\": 61\n      },\n      \"context\": {\n      \"id\": \"e257a0f15fe74579b4a693de65ed618b\",\n      \"user_id\": \"4c7c32b2934f4deeb346bf8017e2bf28\"\n      },\n    \"entity_id\": \"light.guestroom_light\",\n    \"last_changed\": \"2018-11-18T21:48:20.279802+00:00\",\n    \"last_updated\": \"2018-11-18T21:48:20.279802+00:00\",\n    \"state\": \"off\"\n    }\n\n\nIf you prefer yaml you can do:\n\n.. code:: bash\n  \n  $ hass-cli -o yaml get state light.guestroom_light\n  attributes:\n    friendly_name: Guestroom Light\n    is_deconz_group: false\n    supported_features: 61\n  context:\n    id: e257a0f15fe74579b4a693de65ed618b\n    user_id: 4c7c32b2934f4deeb346bf8017e2bf28\n  entity_id: light.guestroom_light\n  last_changed: '2018-11-18T21:48:20.279802+00:00'\n  last_updated: '2018-11-18T21:48:20.279802+00:00'\n  state: 'off'\n..\n\nYou can edit state via an editor:\n\n.. code:: bash\n  \n    $ hass-cli edit state light.guestroom_light\n..\n\nThis will open the current state in your favorite editor and any changes you save will\nbe used for an update. \n\nYou can also explicitly create/edit via the `--json` flag:\n\n.. code:: bash\n\n  $ hass-cli edit state sensor.test --json='{ \"state\":\"off\"}'\n..\n\nAuto-completion\n###############\n\nFor zsh:\n\n.. code:: bash\n\n  eval \"$(_HASS_CLI_COMPLETE=source_zsh hass-cli)\"\n..\n\nFor bash:\n\n.. code:: bash\n\n  eval \"$(_FOO_BAR_COMPLETE=source foo-bar)\"\n..\n\nOnce enable there is autocompletion for commands and for certain attributes like entities:\n\n.. code:: bash\n\n  $ hass-cli get state light.\u003cTAB\u003e                                                                                                                                                                    ⏎ ✱ ◼\n  light.kitchen_light_5          light.office_light             light.basement_light_4         light.basement_light_9         light.dinner_table_light_4     light.winter_garden_light_2    light.kitchen_light_2\n  light.kitchen_table_light_1    light.hallroom_light_2         light.basement_light_5         light.basement_light_10        light.dinner_table_wall_light  light.winter_garden_light_4    light.kitchen_table_light_2\n  light.kitchen_light_1          light.hallroom_light_1         light.basement_light_6         light.small_bathroom_light     light.dinner_table_light_5     light.winter_garden_light_3    light.kitchen_light_4\n  light.kitchen_light_6          light.basement_light_1         light.basement_light_7         light.dinner_table_light_1     light.dinner_table_light_6     light.hallroom_light_4\n  light.guestroom_light          light.basement_light_stairs    light.basement_light_2         light.hallroom_light_5         light.dinner_table_light_3     light.winter_garden_light_5\n  light.hallroom_light_3         light.basement_light_3         light.basement_light_8         light.dinner_table_light_2     light.winter_garden_light_1    light.kitchen_light_3\n\n..\n\nNote: For this to work you'll need to have setup the following environment variables if your home-assistant\nis secured and not running on localhost:8123:\n\n.. code:: bash\n \n   export HASS_SERVER=https://hassio.local:8123\n   export HASS_TOKEN=\u003cBearer token from HASS_SERVER/profile\u003e\n\n..\n\nhelp\n####\n\n.. code:: bash\n\n  Usage: hass-cli [OPTIONS] COMMAND [ARGS]...\n\n    A command line interface for Home Assistant.\n\n  Options:\n    --version                 Show the version and exit.\n    -s, --server TEXT         The server URL of Home Assistant instance.\n                              [default: http://localhost:8123]\n    --token TEXT              The Bearer token for Home Assistant instance.\n    --timeout INTEGER         Timeout for network operations.\n    -o, --output [json|yaml]  Output format  [default: json]\n    -v, --verbose             Enables verbose mode.\n    --help                    Show this message and exit.\n\n  Commands:\n    discover  Discovery for the local network.\n    edit      list info from Home Assistant\n    get       list info from Home Assistant\n    info      Get basic info from Home Assistant using /api/discovery_info.\n    raw       call raw api (advanced)\n    toggle    toggle data from Home Assistant\n\nClone the git repository and \n\n.. code:: bash\n\n    $ pip3 install --editable .\n\n\n\nAcknowledgements\n################\n\nThis code was heavily inspired by @fabaff `home-assistant-cli \u003chttps://github.com/fabaff/home-assistant-cli\u003e` prototype.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxandersen%2Fhass-cli","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmaxandersen%2Fhass-cli","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmaxandersen%2Fhass-cli/lists"}