{"action":"created","comment":{"url":"https://api.github.com/repos/balloob/home-assistant/pulls/comments/57084754","id":57084754,"diff_hunk":"@@ -0,0 +1,255 @@\n+\"\"\"\n+Calculates mold growth indication from temperature and humidity.\n+\n+For more details about this platform, please refer to the documentation at\n+https://home-assistant.io/components/sensor.mold_indicator/\n+\"\"\"\n+import logging\n+import math\n+\n+import homeassistant.util as util\n+from homeassistant.helpers.entity import Entity\n+from homeassistant.helpers.event import track_state_change\n+from homeassistant.const import (ATTR_UNIT_OF_MEASUREMENT,\n+                                 TEMP_CELCIUS, TEMP_FAHRENHEIT)\n+\n+_LOGGER = logging.getLogger(__name__)\n+\n+DEFAULT_NAME = \"Mold Indicator\"\n+CONF_INDOOR_TEMP = \"indoor_temp_sensor\"\n+CONF_OUTDOOR_TEMP = \"outdoor_temp_sensor\"\n+CONF_INDOOR_HUMIDITY = \"indoor_humidity_sensor\"\n+CONF_CALIBRATION_FACTOR = \"calibration_factor\"\n+\n+MAGNUS_K2 = 17.62\n+MAGNUS_K3 = 243.12\n+\n+ATTR_DEWPOINT = \"Dewpoint\"\n+ATTR_CRITICAL_TEMP = \"Est. Crit. Temp\"\n+\n+\n+# pylint: disable=unused-argument\n+def setup_platform(hass, config, add_devices_callback, discovery_info=None):\n+    \"\"\"Setup MoldIndicator sensor.\"\"\"\n+    name = config.get('name', DEFAULT_NAME)\n+    indoor_temp_sensor = config.get(CONF_INDOOR_TEMP)\n+    outdoor_temp_sensor = config.get(CONF_OUTDOOR_TEMP)\n+    indoor_humidity_sensor = config.get(CONF_INDOOR_HUMIDITY)\n+    calib_value = util.convert(config.get(CONF_CALIBRATION_FACTOR),\n+                               float, None)\n+\n+    if None in (indoor_temp_sensor,\n+                outdoor_temp_sensor, indoor_humidity_sensor):\n+        _LOGGER.error('Missing required key %s, %s or %s',\n+                      CONF_INDOOR_TEMP, CONF_OUTDOOR_TEMP,\n+                      CONF_INDOOR_HUMIDITY)\n+        return False\n+\n+    add_devices_callback([MoldIndicator(\n+        hass, name, indoor_temp_sensor,\n+        outdoor_temp_sensor, indoor_humidity_sensor,\n+        calib_value)])\n+\n+\n+# pylint: disable=too-many-instance-attributes\n+class MoldIndicator(Entity):\n+    \"\"\"Represents a MoldIndication sensor.\"\"\"\n+\n+    # pylint: disable=too-many-arguments\n+    def __init__(self, hass, name, indoor_temp_sensor, outdoor_temp_sensor,\n+                 indoor_humidity_sensor, calib_value):\n+        \"\"\"Initialize the sensor.\"\"\"\n+        self._state = \"-\"\n+        self._hass = hass\n+        self._name = name\n+        self._indoor_temp_sensor = indoor_temp_sensor\n+        self._indoor_humidity_sensor = indoor_humidity_sensor\n+        self._outdoor_temp_sensor = outdoor_temp_sensor\n+        self._calib_value = calib_value\n+        self._is_metric = (hass.config.temperature_unit == TEMP_CELCIUS)\n+\n+        self._dewpoint = None\n+        self._indoor_temp = None\n+        self._outdoor_temp = None\n+        self._indoor_hum = None\n+        self._crit_temp = None\n+\n+        track_state_change(hass, indoor_temp_sensor, self._sensor_changed)\n+        track_state_change(hass, outdoor_temp_sensor, self._sensor_changed)\n+        track_state_change(hass, indoor_humidity_sensor, self._sensor_changed)\n+\n+        # Read initial state\n+        self._sensor_changed(indoor_temp_sensor,\n+                             None, hass.states.get(indoor_temp_sensor))\n+        self._sensor_changed(outdoor_temp_sensor,\n+                             None, hass.states.get(outdoor_temp_sensor))\n+        self._sensor_changed(indoor_humidity_sensor,\n+                             None, hass.states.get(indoor_humidity_sensor))\n+\n+    @staticmethod\n+    def _update_temp_sensor(state):\n+        \"\"\"Parse temperature sensor value.\"\"\"\n+        unit = state.attributes.get(ATTR_UNIT_OF_MEASUREMENT)\n+        temp = util.convert(state.state, float)\n+\n+        if temp is None:\n+            _LOGGER.error('Unable to parse sensor temperature: %s',\n+                          state.state)\n+            return None\n+\n+        # convert to celsius if necessary\n+        if unit == TEMP_FAHRENHEIT:\n+            return util.temperature.fahrenheit_to_celcius(temp)\n+        elif unit == TEMP_CELCIUS:\n+            return temp\n+        else:\n+            _LOGGER.error(\"Temp sensor has unsupported unit: %s\"\n+                          \" (allowed: %s, %s)\",\n+                          unit, TEMP_CELCIUS, TEMP_FAHRENHEIT)\n+\n+        return None\n+\n+    @staticmethod\n+    def _update_hum_sensor(state):\n+        \"\"\"Parse humidity sensor value.\"\"\"\n+        unit = state.attributes.get(ATTR_UNIT_OF_MEASUREMENT)\n+        hum = util.convert(state.state, float)\n+\n+        if hum is None:\n+            _LOGGER.error('Unable to parse sensor humidity: %s',\n+                          state.state)\n+            return None\n+\n+        # check unit\n+        if unit != \"%\":\n+            _LOGGER.error(\n+                \"Humidity sensor has unsupported unit: %s %s\",\n+                unit,\n+                \" (allowed: %)\")\n+\n+        # check range\n+        if hum > 100 or hum < 0:\n+            _LOGGER.error(\n+                \"Humidity sensor out of range: %s %s\",\n+                hum,\n+                \" (allowed: 0-100%)\")\n+\n+        return hum\n+\n+    def _sensor_changed(self, entity_id, old_state, new_state):\n+        \"\"\"Called when sensor values change.\"\"\"\n+        if new_state is None:\n+            return\n+\n+        if entity_id == self._indoor_temp_sensor:\n+            # update the indoor temp sensor\n+            self._indoor_temp = MoldIndicator._update_temp_sensor(new_state)\n+\n+        elif entity_id == self._outdoor_temp_sensor:\n+            # update outdoor temp sensor\n+            self._outdoor_temp = MoldIndicator._update_temp_sensor(new_state)\n+\n+        elif entity_id == self._indoor_humidity_sensor:\n+            # update humidity\n+            self._indoor_hum = MoldIndicator._update_hum_sensor(new_state)\n+\n+        # check all sensors\n+        if None in (self._indoor_temp, self._indoor_hum, self._outdoor_temp):\n+            return\n+\n+        # re-calculate dewpoint and mold indicator\n+        self._calc_dewpoint()\n+        self._calc_moldindicator()\n+        self.update_ha_state()\n+\n+    def _calc_dewpoint(self):\n+        \"\"\"Calculate the dewpoint for the indoor air.\"\"\"\n+        # use magnus approximation to calculate the dew point\n+        alpha = MAGNUS_K2 * self._indoor_temp / (MAGNUS_K3 + self._indoor_temp)\n+        beta = MAGNUS_K2 * MAGNUS_K3 / (MAGNUS_K3 + self._indoor_temp)\n+\n+        self._dewpoint = \\\n+            MAGNUS_K3 * (alpha + math.log(self._indoor_hum / 100.0)) / \\\n+            (beta - math.log(self._indoor_hum / 100.0))\n+        _LOGGER.debug(\"Dewpoint: %f \" + TEMP_CELCIUS, self._dewpoint)\n+\n+    def _calc_moldindicator(self):\n+        \"\"\"Calculate the humidity at the (cold) calibration point.\"\"\"\n+        if None in (self._dewpoint, self._calib_value) or \\\n+           self._calib_value == 0:\n+\n+            _LOGGER.debug(\"Invalid inputs - dewpoint: %s,\"\n+                          \" calibration-Value: %s\",","path":"homeassistant/components/sensor/mold_indicator.py","position":182,"original_position":182,"commit_id":"e60b57e1b19b3a3650859e591085ec37bc92532d","original_commit_id":"e60b57e1b19b3a3650859e591085ec37bc92532d","user":{"login":"fabaff","id":116184,"avatar_url":"https://avatars.githubusercontent.com/u/116184?v=3","gravatar_id":"","url":"https://api.github.com/users/fabaff","html_url":"https://github.com/fabaff","followers_url":"https://api.github.com/users/fabaff/followers","following_url":"https://api.github.com/users/fabaff/following{/other_user}","gists_url":"https://api.github.com/users/fabaff/gists{/gist_id}","starred_url":"https://api.github.com/users/fabaff/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/fabaff/subscriptions","organizations_url":"https://api.github.com/users/fabaff/orgs","repos_url":"https://api.github.com/users/fabaff/repos","events_url":"https://api.github.com/users/fabaff/events{/privacy}","received_events_url":"https://api.github.com/users/fabaff/received_events","type":"User","site_admin":false},"body":"You are using `calibration factor` till here.","created_at":"2016-03-22T23:00:39Z","updated_at":"2016-03-22T23:00:39Z","html_url":"https://github.com/balloob/home-assistant/pull/1575#discussion_r57084754","pull_request_url":"https://api.github.com/repos/balloob/home-assistant/pulls/1575","_links":{"self":{"href":"https://api.github.com/repos/balloob/home-assistant/pulls/comments/57084754"},"html":{"href":"https://github.com/balloob/home-assistant/pull/1575#discussion_r57084754"},"pull_request":{"href":"https://api.github.com/repos/balloob/home-assistant/pulls/1575"}}},"pull_request":{"url":"https://api.github.com/repos/balloob/home-assistant/pulls/1575","id":63380147,"html_url":"https://github.com/balloob/home-assistant/pull/1575","diff_url":"https://github.com/balloob/home-assistant/pull/1575.diff","patch_url":"https://github.com/balloob/home-assistant/pull/1575.patch","issue_url":"https://api.github.com/repos/balloob/home-assistant/issues/1575","number":1575,"state":"open","locked":false,"title":"Moldindicator Sensor","user":{"login":"xifle","id":2734388,"avatar_url":"https://avatars.githubusercontent.com/u/2734388?v=3","gravatar_id":"","url":"https://api.github.com/users/xifle","html_url":"https://github.com/xifle","followers_url":"https://api.github.com/users/xifle/followers","following_url":"https://api.github.com/users/xifle/following{/other_user}","gists_url":"https://api.github.com/users/xifle/gists{/gist_id}","starred_url":"https://api.github.com/users/xifle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xifle/subscriptions","organizations_url":"https://api.github.com/users/xifle/orgs","repos_url":"https://api.github.com/users/xifle/repos","events_url":"https://api.github.com/users/xifle/events{/privacy}","received_events_url":"https://api.github.com/users/xifle/received_events","type":"User","site_admin":false},"body":"**Description:**\r\nThe Mold Indicator sensor component consumes information of two temperature sensors and a humidity sensor to give an indication for possible mold growth in your home. For more details see the corresponding pull-request to home-assistant.io\r\n\r\n**Example entry for `configuration.yaml` (if applicable):**\r\n```yaml\r\nsensor:\r\n  platform: mold_indicator\r\n  indoor_temp_sensor: sensor.temp\r\n  indoor_humidity_sensor: sensor.humidity\r\n  outdoor_temp_sensor: sensor.weather_temperature\r\n  calibration_factor: 2.0  # Needs to be calibrated to the critical point in the room\r\n```\r\n\r\n**Checklist:**\r\n\r\n- [x] Local tests with `tox` run successfully.\r\n- [x] TravisCI does not fail. **Your PR cannot be merged unless CI is green!**\r\n- [x] [Fork is up to date][fork] and was rebased on the `dev` branch before creating the PR.\r\n- [ ] Commits have been [squashed][squash].\r\n- If the code does not interact with devices:\r\n  - [ ] Tests have been added to verify that the new code works.\r\n\r\n","created_at":"2016-03-18T14:16:21Z","updated_at":"2016-03-22T23:00:39Z","closed_at":null,"merged_at":null,"merge_commit_sha":"bd324efb69245a8cef4b37a6dd2edc75b9432083","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/balloob/home-assistant/pulls/1575/commits","review_comments_url":"https://api.github.com/repos/balloob/home-assistant/pulls/1575/comments","review_comment_url":"https://api.github.com/repos/balloob/home-assistant/pulls/comments{/number}","comments_url":"https://api.github.com/repos/balloob/home-assistant/issues/1575/comments","statuses_url":"https://api.github.com/repos/balloob/home-assistant/statuses/e60b57e1b19b3a3650859e591085ec37bc92532d","head":{"label":"xifle:moldindicator","ref":"moldindicator","sha":"e60b57e1b19b3a3650859e591085ec37bc92532d","user":{"login":"xifle","id":2734388,"avatar_url":"https://avatars.githubusercontent.com/u/2734388?v=3","gravatar_id":"","url":"https://api.github.com/users/xifle","html_url":"https://github.com/xifle","followers_url":"https://api.github.com/users/xifle/followers","following_url":"https://api.github.com/users/xifle/following{/other_user}","gists_url":"https://api.github.com/users/xifle/gists{/gist_id}","starred_url":"https://api.github.com/users/xifle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xifle/subscriptions","organizations_url":"https://api.github.com/users/xifle/orgs","repos_url":"https://api.github.com/users/xifle/repos","events_url":"https://api.github.com/users/xifle/events{/privacy}","received_events_url":"https://api.github.com/users/xifle/received_events","type":"User","site_admin":false},"repo":{"id":48322235,"name":"home-assistant","full_name":"xifle/home-assistant","owner":{"login":"xifle","id":2734388,"avatar_url":"https://avatars.githubusercontent.com/u/2734388?v=3","gravatar_id":"","url":"https://api.github.com/users/xifle","html_url":"https://github.com/xifle","followers_url":"https://api.github.com/users/xifle/followers","following_url":"https://api.github.com/users/xifle/following{/other_user}","gists_url":"https://api.github.com/users/xifle/gists{/gist_id}","starred_url":"https://api.github.com/users/xifle/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/xifle/subscriptions","organizations_url":"https://api.github.com/users/xifle/orgs","repos_url":"https://api.github.com/users/xifle/repos","events_url":"https://api.github.com/users/xifle/events{/privacy}","received_events_url":"https://api.github.com/users/xifle/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/xifle/home-assistant","description":"Open-source home automation platform running on Python 3","fork":true,"url":"https://api.github.com/repos/xifle/home-assistant","forks_url":"https://api.github.com/repos/xifle/home-assistant/forks","keys_url":"https://api.github.com/repos/xifle/home-assistant/keys{/key_id}","collaborators_url":"https://api.github.com/repos/xifle/home-assistant/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/xifle/home-assistant/teams","hooks_url":"https://api.github.com/repos/xifle/home-assistant/hooks","issue_events_url":"https://api.github.com/repos/xifle/home-assistant/issues/events{/number}","events_url":"https://api.github.com/repos/xifle/home-assistant/events","assignees_url":"https://api.github.com/repos/xifle/home-assistant/assignees{/user}","branches_url":"https://api.github.com/repos/xifle/home-assistant/branches{/branch}","tags_url":"https://api.github.com/repos/xifle/home-assistant/tags","blobs_url":"https://api.github.com/repos/xifle/home-assistant/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/xifle/home-assistant/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/xifle/home-assistant/git/refs{/sha}","trees_url":"https://api.github.com/repos/xifle/home-assistant/git/trees{/sha}","statuses_url":"https://api.github.com/repos/xifle/home-assistant/statuses/{sha}","languages_url":"https://api.github.com/repos/xifle/home-assistant/languages","stargazers_url":"https://api.github.com/repos/xifle/home-assistant/stargazers","contributors_url":"https://api.github.com/repos/xifle/home-assistant/contributors","subscribers_url":"https://api.github.com/repos/xifle/home-assistant/subscribers","subscription_url":"https://api.github.com/repos/xifle/home-assistant/subscription","commits_url":"https://api.github.com/repos/xifle/home-assistant/commits{/sha}","git_commits_url":"https://api.github.com/repos/xifle/home-assistant/git/commits{/sha}","comments_url":"https://api.github.com/repos/xifle/home-assistant/comments{/number}","issue_comment_url":"https://api.github.com/repos/xifle/home-assistant/issues/comments{/number}","contents_url":"https://api.github.com/repos/xifle/home-assistant/contents/{+path}","compare_url":"https://api.github.com/repos/xifle/home-assistant/compare/{base}...{head}","merges_url":"https://api.github.com/repos/xifle/home-assistant/merges","archive_url":"https://api.github.com/repos/xifle/home-assistant/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/xifle/home-assistant/downloads","issues_url":"https://api.github.com/repos/xifle/home-assistant/issues{/number}","pulls_url":"https://api.github.com/repos/xifle/home-assistant/pulls{/number}","milestones_url":"https://api.github.com/repos/xifle/home-assistant/milestones{/number}","notifications_url":"https://api.github.com/repos/xifle/home-assistant/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/xifle/home-assistant/labels{/name}","releases_url":"https://api.github.com/repos/xifle/home-assistant/releases{/id}","deployments_url":"https://api.github.com/repos/xifle/home-assistant/deployments","created_at":"2015-12-20T13:46:12Z","updated_at":"2016-01-24T16:37:39Z","pushed_at":"2016-03-18T14:53:28Z","git_url":"git://github.com/xifle/home-assistant.git","ssh_url":"git@github.com:xifle/home-assistant.git","clone_url":"https://github.com/xifle/home-assistant.git","svn_url":"https://github.com/xifle/home-assistant","homepage":"https://home-assistant.io","size":38425,"stargazers_count":0,"watchers_count":0,"language":"Python","has_issues":false,"has_downloads":true,"has_wiki":false,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"dev"}},"base":{"label":"balloob:dev","ref":"dev","sha":"302f32eacd9eaba61ef52b0b9c6423343a957294","user":{"login":"balloob","id":1444314,"avatar_url":"https://avatars.githubusercontent.com/u/1444314?v=3","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},"repo":{"id":12888993,"name":"home-assistant","full_name":"balloob/home-assistant","owner":{"login":"balloob","id":1444314,"avatar_url":"https://avatars.githubusercontent.com/u/1444314?v=3","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},"private":false,"html_url":"https://github.com/balloob/home-assistant","description":":house_with_garden: Open-source home automation platform running on Python 3","fork":false,"url":"https://api.github.com/repos/balloob/home-assistant","forks_url":"https://api.github.com/repos/balloob/home-assistant/forks","keys_url":"https://api.github.com/repos/balloob/home-assistant/keys{/key_id}","collaborators_url":"https://api.github.com/repos/balloob/home-assistant/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/balloob/home-assistant/teams","hooks_url":"https://api.github.com/repos/balloob/home-assistant/hooks","issue_events_url":"https://api.github.com/repos/balloob/home-assistant/issues/events{/number}","events_url":"https://api.github.com/repos/balloob/home-assistant/events","assignees_url":"https://api.github.com/repos/balloob/home-assistant/assignees{/user}","branches_url":"https://api.github.com/repos/balloob/home-assistant/branches{/branch}","tags_url":"https://api.github.com/repos/balloob/home-assistant/tags","blobs_url":"https://api.github.com/repos/balloob/home-assistant/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/balloob/home-assistant/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/balloob/home-assistant/git/refs{/sha}","trees_url":"https://api.github.com/repos/balloob/home-assistant/git/trees{/sha}","statuses_url":"https://api.github.com/repos/balloob/home-assistant/statuses/{sha}","languages_url":"https://api.github.com/repos/balloob/home-assistant/languages","stargazers_url":"https://api.github.com/repos/balloob/home-assistant/stargazers","contributors_url":"https://api.github.com/repos/balloob/home-assistant/contributors","subscribers_url":"https://api.github.com/repos/balloob/home-assistant/subscribers","subscription_url":"https://api.github.com/repos/balloob/home-assistant/subscription","commits_url":"https://api.github.com/repos/balloob/home-assistant/commits{/sha}","git_commits_url":"https://api.github.com/repos/balloob/home-assistant/git/commits{/sha}","comments_url":"https://api.github.com/repos/balloob/home-assistant/comments{/number}","issue_comment_url":"https://api.github.com/repos/balloob/home-assistant/issues/comments{/number}","contents_url":"https://api.github.com/repos/balloob/home-assistant/contents/{+path}","compare_url":"https://api.github.com/repos/balloob/home-assistant/compare/{base}...{head}","merges_url":"https://api.github.com/repos/balloob/home-assistant/merges","archive_url":"https://api.github.com/repos/balloob/home-assistant/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/balloob/home-assistant/downloads","issues_url":"https://api.github.com/repos/balloob/home-assistant/issues{/number}","pulls_url":"https://api.github.com/repos/balloob/home-assistant/pulls{/number}","milestones_url":"https://api.github.com/repos/balloob/home-assistant/milestones{/number}","notifications_url":"https://api.github.com/repos/balloob/home-assistant/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/balloob/home-assistant/labels{/name}","releases_url":"https://api.github.com/repos/balloob/home-assistant/releases{/id}","deployments_url":"https://api.github.com/repos/balloob/home-assistant/deployments","created_at":"2013-09-17T07:29:48Z","updated_at":"2016-03-22T12:36:28Z","pushed_at":"2016-03-22T21:35:29Z","git_url":"git://github.com/balloob/home-assistant.git","ssh_url":"git@github.com:balloob/home-assistant.git","clone_url":"https://github.com/balloob/home-assistant.git","svn_url":"https://github.com/balloob/home-assistant","homepage":"https://home-assistant.io","size":49725,"stargazers_count":2886,"watchers_count":2886,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":false,"has_pages":true,"forks_count":526,"mirror_url":null,"open_issues_count":204,"forks":526,"open_issues":204,"watchers":2886,"default_branch":"dev"}},"_links":{"self":{"href":"https://api.github.com/repos/balloob/home-assistant/pulls/1575"},"html":{"href":"https://github.com/balloob/home-assistant/pull/1575"},"issue":{"href":"https://api.github.com/repos/balloob/home-assistant/issues/1575"},"comments":{"href":"https://api.github.com/repos/balloob/home-assistant/issues/1575/comments"},"review_comments":{"href":"https://api.github.com/repos/balloob/home-assistant/pulls/1575/comments"},"review_comment":{"href":"https://api.github.com/repos/balloob/home-assistant/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/balloob/home-assistant/pulls/1575/commits"},"statuses":{"href":"https://api.github.com/repos/balloob/home-assistant/statuses/e60b57e1b19b3a3650859e591085ec37bc92532d"}}}}