{"action":"created","comment":{"url":"https://api.github.com/repos/home-assistant/home-assistant/pulls/comments/167724097","pull_request_review_id":95970813,"id":167724097,"diff_hunk":"@@ -0,0 +1,176 @@\n+\"\"\"Http views to control the config manager.\"\"\"\n+import asyncio\n+\n+import voluptuous as vol\n+\n+from homeassistant import config_entries\n+from homeassistant.components.http import (\n+    HomeAssistantView, RequestDataValidator)\n+\n+\n+REQUIREMENTS = ['voluptuous-serialize==0.1']\n+\n+\n+@asyncio.coroutine\n+def async_setup(hass):\n+    \"\"\"Enable the Home Assistant views.\"\"\"\n+    hass.http.register_view(ConfigManagerEntryIndexView)\n+    hass.http.register_view(ConfigManagerEntryResourceView)\n+    hass.http.register_view(ConfigManagerFlowIndexView)\n+    hass.http.register_view(ConfigManagerFlowResourceView)\n+    hass.http.register_view(ConfigManagerAvailableFlowView)\n+    return True\n+\n+\n+def _prepare_json(result):\n+    \"\"\"Convert result for JSON.\"\"\"\n+    import voluptuous_serialize\n+\n+    if result['type'] == config_entries.RESULT_TYPE_FORM:\n+        schema = result['data_schema']\n+        if schema is None:\n+            result['data_schema'] = []\n+        else:\n+            result['data_schema'] = voluptuous_serialize.convert(schema)\n+\n+\n+class ConfigManagerEntryIndexView(HomeAssistantView):\n+    \"\"\"View to create config flows.\"\"\"\n+\n+    url = '/api/config/config_entries/entry'\n+    name = 'api:config:config_entries:entry'\n+\n+    @asyncio.coroutine\n+    def get(self, request):\n+        \"\"\"List flows in progress.\"\"\"\n+        hass = request.app['hass']\n+        return self.json([{\n+            'entry_id': entry.entry_id,\n+            'domain': entry.domain,\n+            'title': entry.title,\n+            'source': entry.source,\n+            'state': entry.state,\n+        } for entry in hass.config_entries.async_entries()])\n+\n+\n+class ConfigManagerEntryResourceView(HomeAssistantView):\n+    \"\"\"View to create config flows.\"\"\"\n+\n+    url = '/api/config/config_entries/entry/{entry_id}'\n+    name = 'api:config:config_entries:entry:resource'\n+\n+    @asyncio.coroutine\n+    def delete(self, request, entry_id):\n+        \"\"\"Delete a config entry.\"\"\"\n+        hass = request.app['hass']\n+\n+        try:\n+            result = yield from hass.config_entries.async_remove(entry_id)\n+        except config_entries.UnknownEntry:\n+            return self.json_message('Invalid entry specified', 404)\n+\n+        return self.json(result)\n+\n+\n+class ConfigManagerFlowIndexView(HomeAssistantView):\n+    \"\"\"View to create config flows.\"\"\"\n+\n+    url = '/api/config/config_entries/flow'\n+    name = 'api:config:config_entries:flow'\n+\n+    @asyncio.coroutine\n+    def get(self, request):\n+        \"\"\"List flows that are in progress but not started by a user.\n+\n+        Example of a non-user initiated flow is a discovered Hue hub that\n+        requires user interaction to finish setup.\n+        \"\"\"\n+        hass = request.app['hass']\n+\n+        return self.json([\n+            flow for flow in hass.config_entries.flow.async_progress()\n+            if flow['source'] != config_entries.SOURCE_USER])\n+\n+    @asyncio.coroutine\n+    @RequestDataValidator(vol.Schema({\n+        vol.Required('domain'): str,\n+    }))\n+    def post(self, request, data):\n+        \"\"\"Handle a POST request.\"\"\"\n+        hass = request.app['hass']\n+\n+        try:\n+            result = yield from hass.config_entries.flow.async_init(\n+                data['domain'])\n+        except config_entries.UnknownHandler:\n+            return self.json_message('Invalid handler specified', 404)\n+        except config_entries.UnknownStep:\n+            return self.json_message('Handler does not support init', 400)\n+\n+        _prepare_json(result)\n+\n+        return self.json(result)\n+\n+\n+class ConfigManagerFlowResourceView(HomeAssistantView):\n+    \"\"\"View to interact with the config manager.\"\"\"","path":"homeassistant/components/config/config_entries.py","position":116,"original_position":116,"commit_id":"054021c0478341196fa1efefeded678997e44149","original_commit_id":"054021c0478341196fa1efefeded678997e44149","user":{"login":"MartinHjelmare","id":3181692,"avatar_url":"https://avatars0.githubusercontent.com/u/3181692?v=4","gravatar_id":"","url":"https://api.github.com/users/MartinHjelmare","html_url":"https://github.com/MartinHjelmare","followers_url":"https://api.github.com/users/MartinHjelmare/followers","following_url":"https://api.github.com/users/MartinHjelmare/following{/other_user}","gists_url":"https://api.github.com/users/MartinHjelmare/gists{/gist_id}","starred_url":"https://api.github.com/users/MartinHjelmare/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/MartinHjelmare/subscriptions","organizations_url":"https://api.github.com/users/MartinHjelmare/orgs","repos_url":"https://api.github.com/users/MartinHjelmare/repos","events_url":"https://api.github.com/users/MartinHjelmare/events{/privacy}","received_events_url":"https://api.github.com/users/MartinHjelmare/received_events","type":"User","site_admin":false},"body":"Flow manager.","created_at":"2018-02-12T23:54:18Z","updated_at":"2018-02-12T23:58:54Z","html_url":"https://github.com/home-assistant/home-assistant/pull/12079#discussion_r167724097","pull_request_url":"https://api.github.com/repos/home-assistant/home-assistant/pulls/12079","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/home-assistant/home-assistant/pulls/comments/167724097"},"html":{"href":"https://github.com/home-assistant/home-assistant/pull/12079#discussion_r167724097"},"pull_request":{"href":"https://api.github.com/repos/home-assistant/home-assistant/pulls/12079"}}},"pull_request":{"url":"https://api.github.com/repos/home-assistant/home-assistant/pulls/12079","id":166183567,"html_url":"https://github.com/home-assistant/home-assistant/pull/12079","diff_url":"https://github.com/home-assistant/home-assistant/pull/12079.diff","patch_url":"https://github.com/home-assistant/home-assistant/pull/12079.patch","issue_url":"https://api.github.com/repos/home-assistant/home-assistant/issues/12079","number":12079,"state":"open","locked":false,"title":"Initial support for Config Entries","user":{"login":"balloob","id":1444314,"avatar_url":"https://avatars3.githubusercontent.com/u/1444314?v=4","gravatar_id":"","url":"https://api.github.com/users/balloob","html_url":"https://github.com/balloob","followers_url":"https://api.github.com/users/balloob/followers","following_url":"https://api.github.com/users/balloob/following{/other_user}","gists_url":"https://api.github.com/users/balloob/gists{/gist_id}","starred_url":"https://api.github.com/users/balloob/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/balloob/subscriptions","organizations_url":"https://api.github.com/users/balloob/orgs","repos_url":"https://api.github.com/users/balloob/repos","events_url":"https://api.github.com/users/balloob/events{/privacy}","received_events_url":"https://api.github.com/users/balloob/received_events","type":"User","site_admin":false},"body":"Video of this in action https://youtu.be/_qpKe-FW9Yk\r\n\r\n## Description:\r\nThis is the implementation of #11947. I've taken most comments into consideration.\r\n\r\nConfig entries are set up when component is set up. First `async_setup` is called, then `async_setup_entry` for each entry. For more information, see the documentation in the source code.\r\n\r\nFrontend PR https://github.com/home-assistant/home-assistant-polymer/pull/861\r\n\r\nHere is an architecture diagram of how it all works together: \r\n\r\n![home assistant config manager architecture](https://user-images.githubusercontent.com/1444314/35845027-535570f0-0ac5-11e8-9604-221a6eee23c1.png)\r\n\r\n\r\nhttps://docs.google.com/drawings/d/10ESEPcVplCzcBg7_Ir4bpgka5YjVbtBRnsebetYkpxA/edit?usp=sharing\r\n\r\n\r\n\r\nTasks:\r\n - [x] Add a config manager\r\n - [x] Add config entry flow base class\r\n - [x] Load config entries on startup\r\n - [x] Expose config manager via API\r\n - [x] Frontend: show form based on config manager steps\r\n - [x] Support removing a config entry\r\n - [x] Add example component with config flow support\r\n - [x] Support for discovery\r\n\r\nFor Future PRs:\r\n - [ ] Translations\r\n - [ ] Migrations\r\n - [ ] Add support for removing config entries for platforms\r\n - [ ] Expose config entry ID on entity?\r\n\r\n**Related issue (if applicable):** fixes #<home-assistant issue number goes here>\r\n\r\n**Pull request in [home-assistant.github.io](https://github.com/home-assistant/home-assistant.github.io) with documentation (if applicable):** home-assistant/home-assistant.github.io#<home-assistant.github.io PR number goes here>\r\n\r\n## Checklist:\r\n  - [x] The code change is tested and works locally.\r\n\r\nIf the code does not interact with devices:\r\n  - [x] Local tests with `tox` run successfully. **Your PR cannot be merged unless tests pass**\r\n  - [x] Tests have been added to verify that the new code works.\r\n\r\n[ex-requir]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard.py#L14\r\n[ex-import]: https://github.com/home-assistant/home-assistant/blob/dev/homeassistant/components/keyboard.py#L54\r\n\r\nFixes #11947","created_at":"2018-01-31T07:23:34Z","updated_at":"2018-02-12T23:58:54Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6292f65979a3e8d6fbf92f52b91e7f307ceae8c5","assignee":null,"assignees":[],"requested_reviewers":[{"login":"andrey-git","id":5478779,"avatar_url":"https://avatars0.githubusercontent.com/u/5478779?v=4","gravatar_id":"","url":"https://api.github.com/users/andrey-git","html_url":"https://github.com/andrey-git","followers_url":"https://api.github.com/users/andrey-git/followers","following_url":"https://api.github.com/users/andrey-git/following{/other_user}","gists_url":"https://api.github.com/users/andrey-git/gists{/gist_id}","starred_url":"https://api.github.com/users/andrey-git/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/andrey-git/subscriptions","organizations_url":"https://api.github.com/users/andrey-git/orgs","repos_url":"https://api.github.com/users/andrey-git/repos","events_url":"https://api.github.com/users/andrey-git/events{/privacy}","received_events_url":"https://api.github.com/users/andrey-git/received_events","type":"User","site_admin":false}],"requested_teams":[{"name":"Core","id":2410391,"slug":"core","description":"Developers with knowledge of the Home Assistant core","privacy":"closed","url":"https://api.github.com/teams/2410391","members_url":"https://api.github.com/teams/2410391/members{/member}","repositories_url":"https://api.github.com/teams/2410391/repos","permission":"pull"}],"labels":[{"id":527871105,"url":"https://api.github.com/repos/home-assistant/home-assistant/labels/cla-signed","name":"cla-signed","color":"008000","default":false},{"id":451931292,"url":"https://api.github.com/repos/home-assistant/home-assistant/labels/core","name":"core","color":"c5def5","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/home-assistant/home-assistant/pulls/12079/commits","review_comments_url":"https://api.github.com/repos/home-assistant/home-assistant/pulls/12079/comments","review_comment_url":"https://api.github.com/repos/home-assistant/home-assistant/pulls/comments{/number}","comments_url":"https://api.github.com/repos/home-assistant/home-assistant/issues/12079/comments","statuses_url":"https://api.github.com/repos/home-assistant/home-assistant/statuses/054021c0478341196fa1efefeded678997e44149","head":{"label":"home-assistant:config-manager","ref":"config-manager","sha":"054021c0478341196fa1efefeded678997e44149","user":{"login":"home-assistant","id":13844975,"avatar_url":"https://avatars3.githubusercontent.com/u/13844975?v=4","gravatar_id":"","url":"https://api.github.com/users/home-assistant","html_url":"https://github.com/home-assistant","followers_url":"https://api.github.com/users/home-assistant/followers","following_url":"https://api.github.com/users/home-assistant/following{/other_user}","gists_url":"https://api.github.com/users/home-assistant/gists{/gist_id}","starred_url":"https://api.github.com/users/home-assistant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/home-assistant/subscriptions","organizations_url":"https://api.github.com/users/home-assistant/orgs","repos_url":"https://api.github.com/users/home-assistant/repos","events_url":"https://api.github.com/users/home-assistant/events{/privacy}","received_events_url":"https://api.github.com/users/home-assistant/received_events","type":"Organization","site_admin":false},"repo":{"id":12888993,"name":"home-assistant","full_name":"home-assistant/home-assistant","owner":{"login":"home-assistant","id":13844975,"avatar_url":"https://avatars3.githubusercontent.com/u/13844975?v=4","gravatar_id":"","url":"https://api.github.com/users/home-assistant","html_url":"https://github.com/home-assistant","followers_url":"https://api.github.com/users/home-assistant/followers","following_url":"https://api.github.com/users/home-assistant/following{/other_user}","gists_url":"https://api.github.com/users/home-assistant/gists{/gist_id}","starred_url":"https://api.github.com/users/home-assistant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/home-assistant/subscriptions","organizations_url":"https://api.github.com/users/home-assistant/orgs","repos_url":"https://api.github.com/users/home-assistant/repos","events_url":"https://api.github.com/users/home-assistant/events{/privacy}","received_events_url":"https://api.github.com/users/home-assistant/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/home-assistant/home-assistant","description":":house_with_garden: Open-source home automation platform running on Python 3","fork":false,"url":"https://api.github.com/repos/home-assistant/home-assistant","forks_url":"https://api.github.com/repos/home-assistant/home-assistant/forks","keys_url":"https://api.github.com/repos/home-assistant/home-assistant/keys{/key_id}","collaborators_url":"https://api.github.com/repos/home-assistant/home-assistant/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/home-assistant/home-assistant/teams","hooks_url":"https://api.github.com/repos/home-assistant/home-assistant/hooks","issue_events_url":"https://api.github.com/repos/home-assistant/home-assistant/issues/events{/number}","events_url":"https://api.github.com/repos/home-assistant/home-assistant/events","assignees_url":"https://api.github.com/repos/home-assistant/home-assistant/assignees{/user}","branches_url":"https://api.github.com/repos/home-assistant/home-assistant/branches{/branch}","tags_url":"https://api.github.com/repos/home-assistant/home-assistant/tags","blobs_url":"https://api.github.com/repos/home-assistant/home-assistant/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/home-assistant/home-assistant/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/home-assistant/home-assistant/git/refs{/sha}","trees_url":"https://api.github.com/repos/home-assistant/home-assistant/git/trees{/sha}","statuses_url":"https://api.github.com/repos/home-assistant/home-assistant/statuses/{sha}","languages_url":"https://api.github.com/repos/home-assistant/home-assistant/languages","stargazers_url":"https://api.github.com/repos/home-assistant/home-assistant/stargazers","contributors_url":"https://api.github.com/repos/home-assistant/home-assistant/contributors","subscribers_url":"https://api.github.com/repos/home-assistant/home-assistant/subscribers","subscription_url":"https://api.github.com/repos/home-assistant/home-assistant/subscription","commits_url":"https://api.github.com/repos/home-assistant/home-assistant/commits{/sha}","git_commits_url":"https://api.github.com/repos/home-assistant/home-assistant/git/commits{/sha}","comments_url":"https://api.github.com/repos/home-assistant/home-assistant/comments{/number}","issue_comment_url":"https://api.github.com/repos/home-assistant/home-assistant/issues/comments{/number}","contents_url":"https://api.github.com/repos/home-assistant/home-assistant/contents/{+path}","compare_url":"https://api.github.com/repos/home-assistant/home-assistant/compare/{base}...{head}","merges_url":"https://api.github.com/repos/home-assistant/home-assistant/merges","archive_url":"https://api.github.com/repos/home-assistant/home-assistant/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/home-assistant/home-assistant/downloads","issues_url":"https://api.github.com/repos/home-assistant/home-assistant/issues{/number}","pulls_url":"https://api.github.com/repos/home-assistant/home-assistant/pulls{/number}","milestones_url":"https://api.github.com/repos/home-assistant/home-assistant/milestones{/number}","notifications_url":"https://api.github.com/repos/home-assistant/home-assistant/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/home-assistant/home-assistant/labels{/name}","releases_url":"https://api.github.com/repos/home-assistant/home-assistant/releases{/id}","deployments_url":"https://api.github.com/repos/home-assistant/home-assistant/deployments","created_at":"2013-09-17T07:29:48Z","updated_at":"2018-02-12T23:44:46Z","pushed_at":"2018-02-12T23:58:28Z","git_url":"git://github.com/home-assistant/home-assistant.git","ssh_url":"git@github.com:home-assistant/home-assistant.git","clone_url":"https://github.com/home-assistant/home-assistant.git","svn_url":"https://github.com/home-assistant/home-assistant","homepage":"https://home-assistant.io","size":78804,"stargazers_count":12502,"watchers_count":12502,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":3600,"mirror_url":null,"archived":false,"open_issues_count":831,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":3600,"open_issues":831,"watchers":12502,"default_branch":"dev"}},"base":{"label":"home-assistant:dev","ref":"dev","sha":"2c202690d8db4e6ccdfaf09b5935e8d47057a778","user":{"login":"home-assistant","id":13844975,"avatar_url":"https://avatars3.githubusercontent.com/u/13844975?v=4","gravatar_id":"","url":"https://api.github.com/users/home-assistant","html_url":"https://github.com/home-assistant","followers_url":"https://api.github.com/users/home-assistant/followers","following_url":"https://api.github.com/users/home-assistant/following{/other_user}","gists_url":"https://api.github.com/users/home-assistant/gists{/gist_id}","starred_url":"https://api.github.com/users/home-assistant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/home-assistant/subscriptions","organizations_url":"https://api.github.com/users/home-assistant/orgs","repos_url":"https://api.github.com/users/home-assistant/repos","events_url":"https://api.github.com/users/home-assistant/events{/privacy}","received_events_url":"https://api.github.com/users/home-assistant/received_events","type":"Organization","site_admin":false},"repo":{"id":12888993,"name":"home-assistant","full_name":"home-assistant/home-assistant","owner":{"login":"home-assistant","id":13844975,"avatar_url":"https://avatars3.githubusercontent.com/u/13844975?v=4","gravatar_id":"","url":"https://api.github.com/users/home-assistant","html_url":"https://github.com/home-assistant","followers_url":"https://api.github.com/users/home-assistant/followers","following_url":"https://api.github.com/users/home-assistant/following{/other_user}","gists_url":"https://api.github.com/users/home-assistant/gists{/gist_id}","starred_url":"https://api.github.com/users/home-assistant/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/home-assistant/subscriptions","organizations_url":"https://api.github.com/users/home-assistant/orgs","repos_url":"https://api.github.com/users/home-assistant/repos","events_url":"https://api.github.com/users/home-assistant/events{/privacy}","received_events_url":"https://api.github.com/users/home-assistant/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/home-assistant/home-assistant","description":":house_with_garden: Open-source home automation platform running on Python 3","fork":false,"url":"https://api.github.com/repos/home-assistant/home-assistant","forks_url":"https://api.github.com/repos/home-assistant/home-assistant/forks","keys_url":"https://api.github.com/repos/home-assistant/home-assistant/keys{/key_id}","collaborators_url":"https://api.github.com/repos/home-assistant/home-assistant/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/home-assistant/home-assistant/teams","hooks_url":"https://api.github.com/repos/home-assistant/home-assistant/hooks","issue_events_url":"https://api.github.com/repos/home-assistant/home-assistant/issues/events{/number}","events_url":"https://api.github.com/repos/home-assistant/home-assistant/events","assignees_url":"https://api.github.com/repos/home-assistant/home-assistant/assignees{/user}","branches_url":"https://api.github.com/repos/home-assistant/home-assistant/branches{/branch}","tags_url":"https://api.github.com/repos/home-assistant/home-assistant/tags","blobs_url":"https://api.github.com/repos/home-assistant/home-assistant/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/home-assistant/home-assistant/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/home-assistant/home-assistant/git/refs{/sha}","trees_url":"https://api.github.com/repos/home-assistant/home-assistant/git/trees{/sha}","statuses_url":"https://api.github.com/repos/home-assistant/home-assistant/statuses/{sha}","languages_url":"https://api.github.com/repos/home-assistant/home-assistant/languages","stargazers_url":"https://api.github.com/repos/home-assistant/home-assistant/stargazers","contributors_url":"https://api.github.com/repos/home-assistant/home-assistant/contributors","subscribers_url":"https://api.github.com/repos/home-assistant/home-assistant/subscribers","subscription_url":"https://api.github.com/repos/home-assistant/home-assistant/subscription","commits_url":"https://api.github.com/repos/home-assistant/home-assistant/commits{/sha}","git_commits_url":"https://api.github.com/repos/home-assistant/home-assistant/git/commits{/sha}","comments_url":"https://api.github.com/repos/home-assistant/home-assistant/comments{/number}","issue_comment_url":"https://api.github.com/repos/home-assistant/home-assistant/issues/comments{/number}","contents_url":"https://api.github.com/repos/home-assistant/home-assistant/contents/{+path}","compare_url":"https://api.github.com/repos/home-assistant/home-assistant/compare/{base}...{head}","merges_url":"https://api.github.com/repos/home-assistant/home-assistant/merges","archive_url":"https://api.github.com/repos/home-assistant/home-assistant/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/home-assistant/home-assistant/downloads","issues_url":"https://api.github.com/repos/home-assistant/home-assistant/issues{/number}","pulls_url":"https://api.github.com/repos/home-assistant/home-assistant/pulls{/number}","milestones_url":"https://api.github.com/repos/home-assistant/home-assistant/milestones{/number}","notifications_url":"https://api.github.com/repos/home-assistant/home-assistant/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/home-assistant/home-assistant/labels{/name}","releases_url":"https://api.github.com/repos/home-assistant/home-assistant/releases{/id}","deployments_url":"https://api.github.com/repos/home-assistant/home-assistant/deployments","created_at":"2013-09-17T07:29:48Z","updated_at":"2018-02-12T23:44:46Z","pushed_at":"2018-02-12T23:58:28Z","git_url":"git://github.com/home-assistant/home-assistant.git","ssh_url":"git@github.com:home-assistant/home-assistant.git","clone_url":"https://github.com/home-assistant/home-assistant.git","svn_url":"https://github.com/home-assistant/home-assistant","homepage":"https://home-assistant.io","size":78804,"stargazers_count":12502,"watchers_count":12502,"language":"Python","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":3600,"mirror_url":null,"archived":false,"open_issues_count":831,"license":{"key":"other","name":"Other","spdx_id":null,"url":null},"forks":3600,"open_issues":831,"watchers":12502,"default_branch":"dev"}},"_links":{"self":{"href":"https://api.github.com/repos/home-assistant/home-assistant/pulls/12079"},"html":{"href":"https://github.com/home-assistant/home-assistant/pull/12079"},"issue":{"href":"https://api.github.com/repos/home-assistant/home-assistant/issues/12079"},"comments":{"href":"https://api.github.com/repos/home-assistant/home-assistant/issues/12079/comments"},"review_comments":{"href":"https://api.github.com/repos/home-assistant/home-assistant/pulls/12079/comments"},"review_comment":{"href":"https://api.github.com/repos/home-assistant/home-assistant/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/home-assistant/home-assistant/pulls/12079/commits"},"statuses":{"href":"https://api.github.com/repos/home-assistant/home-assistant/statuses/054021c0478341196fa1efefeded678997e44149"}},"author_association":"OWNER"}}
{"actor":{"display_login":"MartinHjelmare"}}