{"id":25315147,"url":"https://github.com/bramstroker/homeassistant-state-webhook","last_synced_at":"2025-10-11T16:12:31.501Z","repository":{"id":268721398,"uuid":"905249709","full_name":"bramstroker/homeassistant-state-webhook","owner":"bramstroker","description":"Custom Home Assistant component to push state changes to webhooks","archived":false,"fork":false,"pushed_at":"2024-12-23T10:46:24.000Z","size":236,"stargazers_count":2,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-04-07T15:35:13.664Z","etag":null,"topics":["home-assistant","integration","webhook"],"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/bramstroker.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":"2024-12-18T13:01:14.000Z","updated_at":"2024-12-24T11:25:45.000Z","dependencies_parsed_at":"2024-12-18T14:46:24.696Z","dependency_job_id":"93facfea-c9e5-4d93-943d-49a0484c965a","html_url":"https://github.com/bramstroker/homeassistant-state-webhook","commit_stats":null,"previous_names":["bramstroker/homeassistant-state-webhook"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/bramstroker/homeassistant-state-webhook","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bramstroker%2Fhomeassistant-state-webhook","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bramstroker%2Fhomeassistant-state-webhook/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bramstroker%2Fhomeassistant-state-webhook/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bramstroker%2Fhomeassistant-state-webhook/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/bramstroker","download_url":"https://codeload.github.com/bramstroker/homeassistant-state-webhook/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/bramstroker%2Fhomeassistant-state-webhook/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":279007785,"owners_count":26084364,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-10-11T02:00:06.511Z","response_time":55,"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":["home-assistant","integration","webhook"],"created_at":"2025-02-13T17:49:53.349Z","updated_at":"2025-10-11T16:12:31.472Z","avatar_url":"https://github.com/bramstroker.png","language":"Python","funding_links":["https://www.buymeacoffee.com/bramski"],"categories":[],"sub_categories":[],"readme":"![Version](https://img.shields.io/github/v/release/bramstroker/homeassistant-state-webhook?style=for-the-badge)\n![Downloads](https://img.shields.io/github/downloads/bramstroker/homeassistant-state-webhook/total?style=for-the-badge)\n[![hacs_badge](https://img.shields.io/badge/HACS-Custom-41BDF5.svg?style=for-the-badge)](https://github.com/hacs/integration)\n[![Code style: MyPy](https://img.shields.io/badge/type%20checked-mypy-blue.svg?style=for-the-badge)](https://mypy-lang.org/)\n[![Coverage Status](https://img.shields.io/coveralls/github/bramstroker/homeassistant-state-webhook/badge.svg?branch=master\u0026style=for-the-badge)](https://coveralls.io/github/bramstroker/homeassistant-state-webhook?branch=main)\n[![BuyMeACoffee](https://img.shields.io/badge/-buy_me_a%C2%A0coffee-gray?logo=buy-me-a-coffee\u0026style=for-the-badge)](https://www.buymeacoffee.com/bramski)\n\n# State webhook\n\nCustom Home Assistant integration which allows you to sent state changes of entities to a webhook (HTTP call).\nEssentially you set up a webhook URL, with optionally authorization headers.\nIn addition you configure the entities which you want to track and which data to include in the payload.\nThe component will listen to state changes of relevant entities and will call your webhook accordingly.\n\nYou can use it for example to sent HA state data to tools like [Zapier](https://zapier.com/) or [IFTT](https://ifttt.com/) to do all kind of automations.\nOr sent JSON data to any custom endpoint, the possibilities are endless.\n\n## Installation\n\n### HACS (manually)\n\nCurrently you'll need to add this integration as a custom repository in HACS.\nI will try to add this integration to HACS default repository, but this will take a lot of time looking at the big backlog.\n\n- Click the button below to open this repository in HACS:\n  \n[![Open your Home Assistant instance and open a repository inside the Home Assistant Community Store.](https://my.home-assistant.io/badges/hacs_repository.svg)](https://my.home-assistant.io/redirect/hacs_repository/?owner=bramstroker\u0026repository=homeassistant-state-webhook\u0026category=integration)\n- Click add and then the download button in the bottom right corner.\n- Restart Home Assistant and continue with the next section.\n\n## Usage\n\nFor each webhook you'd like to add go to \"Devices \u0026 services\", and click \"Add integration\", search for `State webhook` and follow the instructions.\nOr click the button below.\n\n[![Open your Home Assistant instance and start setting up a new integration.](https://my.home-assistant.io/badges/config_flow_start.svg)](https://my.home-assistant.io/redirect/config_flow_start/?domain=state_webhook)\n\nconfiguration screens:\n\n![alt text](https://github.com/bramstroker/homeassistant-state-webhook/blob/main/docs/assets/config_flow1.png?raw=true)\n![alt text](https://github.com/bramstroker/homeassistant-state-webhook/blob/main/docs/assets/config_flow2.png?raw=true)\n\n## Payload\n\nCurrently the component will sent following payload structure using POST request to the configured endpoint:\n\n```json\n{\n  \"entity_id\": \"person.some\",\n  \"time\": \"2024-12-19T12:27:05.854243+00:00\",\n  \"old_state\": \"home\",\n  \"new_state\": \"not_home\"\n}\n```\n\nYou can also add the `new_state_attributes` using a toggle in the configuration screen.\nAnd omit the `old_state` if you don't need it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbramstroker%2Fhomeassistant-state-webhook","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbramstroker%2Fhomeassistant-state-webhook","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbramstroker%2Fhomeassistant-state-webhook/lists"}