Giter Site home page Giter Site logo

raman325 / ha-zoom-automation Goto Github PK

View Code? Open in Web Editor NEW
60.0 4.0 14.0 336 KB

Custom Home Assistant component for Zoom. Tracks when you are connected to a Zoom call by default but may allow you to track more.

License: MIT License

Python 100.00%
hacs homeassistant home-assistant ha zoom automation custom-component hassio integration webhook-event

ha-zoom-automation's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

ha-zoom-automation's Issues

Worked but doesn't now

I installed this yesterday and got it working. Everything was on point but after testing it out a few times it seemed like the binary_sensor wasn't updating very quickly anymore. Now, today it's showing disconnected and not working at all. Not sure what to do. I haven't updated or changed anything since yesterday. Thoughts? Should I build a new app and try again in the zoom dev? Thanks.

Doesn't work with Zoom PWA

Thanks for the integration!

A while ago, maybe a year ago, this integration stopped working for me. I've come back to it occasionally. Today I discovered something interesting, and it correlates with a change in my use of Zoom at around that time.

I'm able to install the integration and manually POST nonsense to <base url>/api/zoom and see it in HA dev tools listening for zoom_webhook. However actually entering and exiting a meeting doesn't seem to ever trigger the aforementioned event.

Turns out that for some reason Zoom doesn't update presence status if you're using the PWA (web app - in my case in Chromium on Linux). It does on the other hand work exactly as expected if I use the macOS desktop client.

Anyone investigating this might find the Zoom call logs helpful. I can see the presence status changing in there as well with each /v2/chat/<etc> call at response.presence_status.

Is there any other API property/scope this integration could use that doesn't have this limitation?

Entity/Sensor becomes unavailable after 30 seconds

Issue: After adding the integration to a fresh install of Home Assistant, it connects to zoom as expected and I can trigger the different status for the various scopes selected in the Zoom App/Setup. After 30 seconds or after leaving a meeting, whichever comes first, the status of the entity becomes unavailable and doesn't ever come back. Enabling debug mode shows a 400 Bad Request response to one of the API calls, but what's strange is the debug log shows the new changes in status from Zoom as log entries. It just doesn't update the status/entity.

Log: This includes the error plus the validated status right after:

Traceback (most recent call last):
  File "/config/custom_components/zoom/binary_sensor.py", line 164, in async_added_to_hass
    self._profile = await self._api.async_get_contact_user_profile(self.id)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/config/custom_components/zoom/api.py", line 37, in async_get_contact_user_profile
    resp = await self._oauth_session.async_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 510, in async_request
    return await async_oauth2_request(
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 524, in async_oauth2_request
    return await session.request(
           ^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/site-packages/aiohttp/client.py", line 643, in _request
    resp.raise_for_status()
  File "/usr/local/lib/python3.11/site-packages/aiohttp/client_reqrep.py", line 1005, in raise_for_status
    raise ClientResponseError(
aiohttp.client_exceptions.ClientResponseError: 400, message='Bad Request', url=URL('https://api.zoom.us/v2/chat/users/me/contacts/{alphanumeric}?query_presence_status=true')
2023-06-26 16:47:30.294 DEBUG (MainThread) [custom_components.zoom.common] Received validated Zoom event for config entry {alphanumeric}: {'event': 'meeting.started', 'payload': {'account_id': '{alphanumeric}', 'object': {'duration': 826951780, 'start_time': '2023-06-26T20:47:26Z', 'timezone': '', 'topic': "Norm's Zoom Meeting", 'id': '{alphanumeric}', 'type': 1, 'uuid': '{alphanumeric}', 'host_id': '{alphanumeric}'}}, 'event_ts': {alphanumeric}}

The first weird part is that I tried the same exact call in Postman, and got no errors. I thought maybe the integration was grabbing a bad OAuth token, but even when doing that, the error code was different and not the 400 Bad Request. Also, @raman325 's code and and calls align perfectly with Zoom's API Docs. So that was all confusing.

I tried a bunch of changes to the function in the component but none of them changed the behavior. In the end, I commented out the function query_presence_status API call and can see everything working as expected. The only thing I won't get is anything from the status updates in Zoom. But I still get Online, Offline, In_Meeting, Available, etc. So it may just be minor and we could potentially remove this from the code completely.

I'll try a few more things in the coming days and open a PR if necessary. If anyone stumbles upon this, can you please comment and let me know if you're experiencing the same thing?

not getting status

Good evening. I noticed that my echo wasn't going into DND during my meetings as my automation should be doing. Seems like it started just a couple of days after you helped me get everything working. I just looked at my logs after a restart and saw this and wanted to know if it was an issue or not? I can do some testing and report back if needed but wanted to start with this question first. Thanks a lot.

2021-12-21 21:17:57 WARNING (MainThread) [custom_components.zoom.binary_sensor] Error retrieving initial zoom status, restoring state. Traceback (most recent call last): File "/config/custom_components/zoom/binary_sensor.py", line 163, in async_added_to_hass self._profile = await self._api.async_get_contact_user_profile(self.id) File "/config/custom_components/zoom/api.py", line 35, in async_get_contact_user_profile resp = await self._oauth_session.async_request( File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 471, in async_request return await async_oauth2_request( File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 485, in async_oauth2_request return await session.request( File "/usr/local/lib/python3.9/site-packages/aiohttp/client.py", line 640, in _request resp.raise_for_status() File "/usr/local/lib/python3.9/site-packages/aiohttp/client_reqrep.py", line 1004, in raise_for_status raise ClientResponseError( aiohttp.client_exceptions.ClientResponseError: 400, message='', url=URL('https://api.zoom.us/v2/chat/users/me/contacts/W2CQ3GM9TKOWNdq7PznIZg?query_presence_status=true'

Received authorized but unknown event

Version of the custom_component

0.4.1

Configuration

Configured via UI

Describe the bug

Hello, the integration installs and appears to get the correct status at the time of install, however the status doesn't update when the zoom status changes.

I have tested this by adding and removing the integration both in and out of a meeting, and you can see in the following screenshot that it works only when added or removed. It doesn't update anymore after that.
chrome_2021-01-25_13-30-41

I have examined the logs and I can see the error is "Received authorized but unknown event:" with the payload data (See attached screenshot)
chrome_2021-01-25_12-44-39

I have configured the OAuth application exactly as the instructions described and I have tried removing and reinstalling the integration.

Is there something I've missed during the configuration or is this a bug with the integration?

Thank you for creating the integration, looking forward to your reply ๐Ÿ˜€

Debug log


2021-01-25 13:08:09 WARNING (MainThread) [custom_components.zoom.common] Received authorized but unknown event: {"event":"user.presence_status_updated","payload":{"account_id":"REDACTED","object":{"date_time":"2021-01-25T13:08:09Z","email":"REDACTED","id":"REDACTED","presence_status":"In_Meeting"}},"event_ts":1611580089354}
2021-01-25 13:08:36 WARNING (MainThread) [custom_components.zoom.common] Received authorized but unknown event: {"event":"user.presence_status_updated","payload":{"account_id":"REDACTED","object":{"date_time":"2021-01-25T13:08:36Z","email":"REDACTED","id":"REDACTED","presence_status":"Available"}},"event_ts":1611580116265}

Configuration screenshots that may assist in debugging
chrome_2021-01-25_12-53-48
chrome_2021-01-25_13-26-25
chrome_2021-01-25_12-57-54
chrome_2021-01-25_13-27-29

No issue - a praise!

Hey man, no issue here on my part (though I haven't fully utilized it yet, ha), but THANK you so much for making this. I looked at a few tutorials and went through Zoom's APIs and Webhooks, but they seemed more confusing than they ought to be. You making this to include with my HA setup is fantastics. Thanks for your hard work! Let me know if you need any helps/contribs/pull requests.

network.NoURLAvailableError

Version of the custom_component

v0.1

Configuration

i am using integration flow

Describe the bug

cant add because I am getting following error below once I click on submit

Debug log

2020-09-10 19:27:49 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_protocol.py", line 418, in start
    resp = await task
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_app.py", line 458, in _handle
    resp = await handler(request)
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_middlewares.py", line 119, in impl
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/real_ip.py", line 39, in real_ip_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 73, in ban_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 127, in auth_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 129, in handle
    result = await result
  File "/usr/src/homeassistant/homeassistant/components/config/config_entries.py", line 112, in post
    return await super().post(request)
  File "/usr/src/homeassistant/homeassistant/components/http/data_validator.py", line 60, in wrapper
    result = await method(view, request, *args, **kwargs)
  File "/usr/src/homeassistant/homeassistant/helpers/data_entry_flow.py", line 69, in post
    result = await self._flow_mgr.async_init(
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 128, in async_init
    result = await self._async_handle_step(
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 201, in _async_handle_step
    result: Dict = await getattr(flow, method)(user_input)
  File "/config/custom_components/zoom/config_flow.py", line 56, in async_step_user
    else await self.async_step_pick_implementation()
  File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 223, in async_step_pick_implementation
    return await self.async_step_auth()
  File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 247, in async_step_auth
    url = await self.flow_impl.async_generate_authorize_url(self.flow_id)
  File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 136, in async_generate_authorize_url
    "redirect_uri": self.redirect_uri,
  File "/config/custom_components/zoom/common.py", line 64, in redirect_uri
    url = get_url(self.hass, allow_internal=False, prefer_cloud=True)
  File "/usr/src/homeassistant/homeassistant/helpers/network.py", line 72, in get_url
    raise NoURLAvailableError
homeassistant.helpers.network.NoURLAvailableError

Why is HACs reporting against ZOOM when Zoom repository its not installed?

Version of the custom_component

Configuration

Add your logs here.

Describe the bug

HA error log reporting Zoom via HACs is installed when it was never installed.

Debug log


2020-11-18 20:04:35 ERROR (MainThread) [homeassistant] Error doing job: Task exception was never retrieved

Traceback (most recent call last):

File "/srv/homeassistant/lib/python3.8/site-packages/aiogithubapi/helpers.py", line 91, in async_call_api
response.data = await result.json()
File "/srv/homeassistant/lib/python3.8/site-packages/aiohttp/client_reqrep.py", line 1021, in json
await self.read()
File "/srv/homeassistant/lib/python3.8/site-packages/aiohttp/client_reqrep.py", line 973, in read
self._body = await self.content.read()
File "/srv/homeassistant/lib/python3.8/site-packages/aiohttp/streams.py", line 358, in read
block = await self.readany()
File "/srv/homeassistant/lib/python3.8/site-packages/aiohttp/streams.py", line 380, in readany
await self._wait('readany')
File "/srv/homeassistant/lib/python3.8/site-packages/aiohttp/streams.py", line 296, in _wait
await waiter
asyncio.exceptions.CancelledError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/homeassistant/.homeassistant/custom_components/hacs/hacsbase/hacs.py", line 265, in prosess_queue
await self.queue.execute(can_update)
File "/srv/homeassistant/lib/python3.8/site-packages/queueman/manager.py", line 63, in execute
await asyncio.gather(*local_queue)
File "/home/homeassistant/.homeassistant/custom_components/hacs/operational/factory.py", line 25, in safe_common_update
await repository.common_update()
File "/home/homeassistant/.homeassistant/custom_components/hacs/helpers/classes/repository.py", line 247, in common_update
await self.repository_object.set_last_commit()
File "/srv/homeassistant/lib/python3.8/site-packages/aiogithubapi/objects/repository/init.py", line 169, in set_last_commit
response = await self.client.get(endpoint=_endpoint)
File "/srv/homeassistant/lib/python3.8/site-packages/aiogithubapi/client.py", line 36, in get
response = await async_call_api(
File "/srv/homeassistant/lib/python3.8/site-packages/backoff/_async.py", line 133, in retry
ret = await target(*args, **kwargs)
File "/srv/homeassistant/lib/python3.8/site-packages/aiogithubapi/helpers.py", line 101, in async_call_api
raise AIOGitHubAPIException(response.data)
File "/srv/homeassistant/lib/python3.8/site-packages/async_timeout/init.py", line 55, in aexit
self._do_exit(exc_type)
File "/srv/homeassistant/lib/python3.8/site-packages/async_timeout/init.py", line 92, in _do_exit
raise asyncio.TimeoutError
asyncio.exceptions.TimeoutError

2020-11-18 20:07:41 ERROR (MainThread) [custom_components.hacs.repository.integration.raman325.ha-zoom-automation]
2020-11-18 20:07:41 ERROR (MainThread) [custom_components.hacs.factory] raman325/ha-zoom-automation -

Improvement in repository description.

Version of the custom_component

N/A.

Configuration

N/A.

Describe the bug

Custom Home Assistant component to enable automations off of Zoom events

would read much better as something like:

Custom Home Assistant component to enable automations based on Zoom events

Debug log

N/A.

Maximum recursion depth exceeded

Getting an exception when HASS starts:

2020-09-21 18:30:28 ERROR (MainThread) [homeassistant.components.binary_sensor] zoom: Error on device update!
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/helpers/entity_platform.py", line 346, in _async_add_entity
    await entity.async_device_update(warning=False)
  File "/usr/src/homeassistant/homeassistant/helpers/entity.py", line 469, in async_device_update
    await self.async_update()  # type: ignore
  File "/config/custom_components/zoom/binary_sensor.py", line 75, in async_update
    self._profile = await self._api.async_get_contact_user_profile(self.id)
  File "/config/custom_components/zoom/binary_sensor.py", line 149, in id
    self.profile.get("id")
  File "/config/custom_components/zoom/binary_sensor.py", line 250, in profile
    return self.profile or self._coordinator.data
  File "/config/custom_components/zoom/binary_sensor.py", line 250, in profile
    return self.profile or self._coordinator.data
  File "/config/custom_components/zoom/binary_sensor.py", line 250, in profile
    return self.profile or self._coordinator.data
  [Previous line repeated 980 more times]
RecursionError: maximum recursion depth exceeded

Version of the custom_component

0.2 version from HACS

Describe the bug

It looks like it is recursively calling itself on the following line (line 250):
return self.profile or self._coordinator.data

I suspect the intended behavior was return self._profile or self._coordinator.data (note the added underscore in front of profile)

500 Internal Service Error

Version of the custom_component

v0.3

Configuration

GUI.

Describe the bug

When I add my client ID, secret, and verification token, and click on add, it says "500 internal service error: server got itself in trouble" once I accept the permissions.

Debug log

2020-08-29 07:56:58 ERROR (MainThread) [aiohttp.server] Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_protocol.py", line 418, in start
    resp = await task
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_app.py", line 458, in _handle
    resp = await handler(request)
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_middlewares.py", line 119, in impl
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/real_ip.py", line 39, in real_ip_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 73, in ban_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 127, in auth_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 129, in handle
    result = await result
  File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 388, in get
    await hass.config_entries.flow.async_configure(
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 153, in async_configure
    result = await self._async_handle_step(flow, cur_step["step_id"], user_input)
  File "/usr/src/homeassistant/homeassistant/data_entry_flow.py", line 201, in _async_handle_step
    result: Dict = await getattr(flow, method)(user_input)
  File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 259, in async_step_creation
    token = await self.flow_impl.async_resolve_external_data(self.external_data)
  File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 145, in async_resolve_external_data
    return await self._token_request(
  File "/usr/src/homeassistant/homeassistant/helpers/config_entry_oauth2_flow.py", line 174, in _token_request
    resp.raise_for_status()
  File "/usr/local/lib/python3.8/site-packages/aiohttp/client_reqrep.py", line 941, in raise_for_status
    raise ClientResponseError(
aiohttp.client_exceptions.ClientResponseError: 400, message='', url=URL('https://zoom.us/oauth/token')

Multiple Account Monitoring Not Working in v0.8.1

Version of the custom_component

0.8.1

Describe the bug

Since updating to v0.8.1, only the first Zoom account declared in the config file is monitored. Other accounts (four more, in my case) no longer get their status updated (binary_sensor state always off even when connected to a meeting).

All accounts work without issues in v0.7.5.

Debug log

Oddly enough, nothing shows in the log even when debugging is enabled. Are the following correct?


custom_components.zoom.binary_sensor: debug
custom_components.zoom: debug

"Missing code or state parameter"

Version of the custom_component

0.1

Configuration

(Configured via UI)

Describe the bug

When installing / activating my Zoom app, it redirects to my HA URL with the error "Missing code or state parameter". Sure enough - there is a code, but no "state" in the URL.

I followed the docs closely - what did I miss?...

DOCS: Step 14 Scopes for chat:read has moved

I know you're not maintaining this anymore @raman325 , so I'll submit a PR but the layout of scopes has changed slightly from your documentation. Step 14 says:

To do this, click Add Scopes in the top right of the main page, go to the Chat section, enable the checkbox next to View current user's chat contact information (the scope is called chat_contact:read) and click Done. Click Continue to save what you did.

Where it is located now is under Team Chat. Unfortunately, zoom doesn't let you search for chat_contact:read so it's placement under Team Chat is a bit confusing, but since the param is the same, it seems to have the same impact on the integration and data in HA. Here's the screenshot:

zoom-chat-scopes

Separately, I'll message you about taking over this integration and repo. I've only grazed through the code, so it would be good for us to connect before totally taking it over to ensure I'm not missing anything.

Unable to Install Integration

Version of the custom_component

  • HACS: 1.24.5
  • Zoom Integration: v0.8.2
  • Home Assistant Core: 2022.5.3
  • Home Assistant Supervisor: 2022.05.1
  • Home Assistant OS: 7.6
  • Kernel version: 5.10.103-v8
  • Agent version: 1.2.1

Configuration

# Zoom configuration
zoom:
  client_id: !secret zoom_client_ID
  client_secret: !secret zoom_client_secret
  verification_token: !secret zoom_verification_token

Describe the bug

I am attempting to install this custom component for the first time on my instance of Home Assistant but am running into an issue where the integration does not appear in the Settings > Devices & Services > Integrations page. I used the instructions provided in this repo to install the component using HACS however when I attempted to configure it using the UI, I found that the integration did not appear in the list of available integrations when I clicked the "Add Integration" button.

Thinking that this might just be a UI issue, I attempted to follow the instructions in this repo for configuring the component via the configuration.yaml file. After making the necessary additions and again restarting HA, I went to the Integrations page and still could not find the zoom integration.

Searching the HA logs, I see no mention of the zoom custom component anywhere-- even when enabling debug logs (though I suspect the debug logs did not work since the component does not appear to be installed). I have also attempted to install v0.8.1 of the Zoom Integration to see if this was just an issue with the latest released version, but I was still seeing the same behavior.

Debug log

NA

Mic status as sensor

Is your feature request related to a problem? Please describe.
I would like to get mute status of meetings

Describe the solution you'd like
I would like to get the status of my microphone for meetings, for example am I muted?

Describe alternatives you've considered
none yet

Additional context
n/a

Automations are outdated

I removed all irrelevant stuff because this is about the docs, not the component itself.
The automations at the bottom of the README are meant for when webhooks were used. They need to be updated.

homeassistant.const.HTTP_* removed

Version of the custom_component

Configuration

Configured through the ui, but cannot access since the integration failed to load.

Add your logs here.

Describe the bug

As mentioned in the breaking chnages section of the release notes from core v2021.12, homeassistant.const.HTTP_* were removed. It is mentioned that stdlib http.HTTPStatus should be used instead.

Debug log


Setup failed for zoom: Unable to import component: cannot import name 'HTTP_OK' from 'homeassistant.const' (/usr/src/homeassistant/homeassistant/const.py)

Home Assistant Cloud URL used as Redirect URL for OAuth instead of user's configured external URL

Version of the custom_component

v0.8.3

Configuration

Failure occurs during UI Integration Configuration

Describe the bug

The integration seems to use my Home Assistant Cloud URL (via a Nabu Casa subscription) instead of the external URL that I have configured in Configuration > Settings > General (/config/core). When I am redirected I get sent to a page with this error:

{"status":false,"errorCode":4700,"errorMessage":"Invalid redirect: https://<unique id>.ui.nabu.casa/auth/external/callback","result":null}

I was able to fix this by manually changing the redirect URL parameter in the URL, but I think the external URL that the user specifies in their configuration is what this integration should be using. The installation documentation even specifies that you should use the

...URL you configured inside of Home Assistant as the external URL...

I assume this could also be worked around by specifying the HA Cloud URL for the Redirect URL for OAuth while going through the installation steps.

Debug log

No relevant logs occur

push notification for chat message

I would like to see home assistant Push Notification if someone of my zoom contacts has sent me a chat message (Not in a webinar or meeting)
Thank you

Error setting up entry Zoom for binary_sensor

The binary_sensor is in an unavailable state and getting the following error in logs:

Traceback (most recent call last): File "/usr/src/homeassistant/homeassistant/config_entries.py", line 365, in async_setup result = await component.async_setup_entry(hass, self) File "/usr/src/homeassistant/homeassistant/components/binary_sensor/__init__.py", line 169, in async_setup_entry return await component.async_setup_entry(entry) File "/usr/src/homeassistant/homeassistant/helpers/entity_component.py", line 160, in async_setup_entry raise ValueError("Config entry has already been setup!") ValueError: Config entry has already been setup!

Have tried removing and re-installing, doesn't seem to make a difference so far.

Running:

ha-zoom-automation: bcd0a
Home Assistant 2022.10.3
Supervisor 2022.10.0

binary_sensor status overwritten without matching zoom.webhook event

Version of the custom_component

v0.3.0

Configuration

N/A, installed via HACS, oauth configured via lovelace

Describe the bug

It seems that after I end a Zoom call, the status goes from In_Calendar_Meeting which is accurate, to within about half a second flipping back to Do_Not_Disturb, which is out of sync from what the presence shows in the client, and also does not match any events coming in from the Zoom webhook API. I don't know enough about the integration to debug why this might be happening, but it seems to be a bug with the binary_sensor logic.

For now I'm avoiding automation based on the status attribute in the binary_sensor, and instead using the method described in the readme that writes to an text_input helper. This works and maintains the correct status, so given there's a viable workaround this is not a critical issue. Thanks for making this integration, it's really cool and proving very useful in our busy household!

Debug log

The log snippet below is of me going from a Zoom call, to leaving the Zoom call, and the immediate logs thereafter. You'll see that my HA instance does receive the event from the Zoom API for In_Calendar_Event, however without receiving any other presence status change events, the binary_sensor then switches back to Do_Not_Disturb and HA state to on:

2021-01-15 15:26:24 DEBUG (MainThread) [custom_components.zoom.binary_sensor] Set Zoom state to Do_Not_Disturb and HA state to on
2021-01-15 15:26:27 DEBUG (MainThread) [custom_components.zoom.common] Received event: {"event": "user.presence_status_updated", "payload": {"account_id": "<redacted>", "object": {"date_time": "2021-01-15T22:26:27Z", "email": "<redacted>", "id": "<redacted>", "presence_status": "In_Calendar_Event"}}}
2021-01-15 15:26:27 DEBUG (MainThread) [custom_components.zoom.binary_sensor] Set Zoom state to In_Calendar_Event and HA state to off
2021-01-15 15:26:54 DEBUG (MainThread) [custom_components.zoom.binary_sensor] Set Zoom state to Do_Not_Disturb and HA state to on

Doesn't work with chat disabled

Version of the custom_component

v0.2.3

Configuration

UI

Describe the bug

My admin recently disabled chat. Now the sensor isn't working, and always reports off.

Debug log


None, except a verification it got set up.

Can't find Zoom in Main integrations UI

Version of the custom_component

Configuration

fresh install

##Logs

2021-05-18 22:56:04 WARNING (MainThread) [homeassistant.loader] You are using a custom integration hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant
2021-05-18 22:56:04 WARNING (MainThread) [homeassistant.loader] You are using a custom integration zoom which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant


## Describe the bug
Zoom is not showing in the main integrations ui


## Debug log

Debug log is too large, even for pastebin. Which I didn't know was possible.

```text

Add your logs here.

Receiving events late/out of order

Version of the custom_component

v0.8.3

Configuration

N/A

Describe the bug

I sometimes receive events from zoom quite some time after they occur. I'm not sure if this is a problem with zoom or this integration, but I thought I'd get a discussion going here to see if anyone else is having this problem.

I think if this is a problem on Zoom's side, there's still potentially something we could do. Event's come with a timestamp of when they occurred (unique from when HA receives them), so we could verify that events attempting to change current state are not older than whatever event set the current state.

An example of this problem I've run into personally has been where I'm in a meeting and my status in HA is set appropriately to on, but then an old (sometimes by 1+ hours) event comes in marking me as available and my state is updated to off.

Thoughts?

Debug log

Example of a log line from an old event (all times are UTC):

2022-04-22 20:43:28 DEBUG (MainThread) [custom_components.zoom.common] Received event: {'event': 'user.presence_status_updated', 'payload': {'account_id': '<redacted>', 'object': {'date_time': '2022-04-22T19:15:10Z', 'email': '<redacted>', 'id': '<redacted>', 'presence_status': 'Available'}}, 'event_ts': 1650654910524}

As you can see, HA receives the event at 20:43:28, but the event happened at 19:15:10.

CIMultiDictProxy is not JSON serializable

Thanks for this integration! Details of my problem are below

Version of the custom_component

v0.7.1

Describe the bug

The integration was working fine until a week or so ago when I started seeing the sensor always show as disconnected with the error message below appearing in the log hundreds of times.

Debug log

Logger: aiohttp.server
Source: custom_components/zoom/common.py:118
First occurred: February 17, 2021, 10:52:07 AM (142 occurrences)
Last logged: 9:08:03 AM
Error handling request

Traceback (most recent call last):
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_protocol.py", line 422, in _handle_request
    resp = await self._request_handler(request)
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_app.py", line 499, in _handle
    resp = await handler(request)
  File "/usr/local/lib/python3.8/site-packages/aiohttp/web_middlewares.py", line 118, in impl
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/security_filter.py", line 56, in security_filter_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/request_context.py", line 18, in request_context_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/ban.py", line 72, in ban_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/auth.py", line 127, in auth_middleware
    return await handler(request)
  File "/usr/src/homeassistant/homeassistant/components/http/view.py", line 129, in handle
    result = await result
  File "/config/custom_components/zoom/common.py", line 118, in post
    json.dumps(request.headers),
  File "/usr/local/lib/python3.8/json/__init__.py", line 231, in dumps
    return _default_encoder.encode(obj)
  File "/usr/local/lib/python3.8/json/encoder.py", line 199, in encode
    chunks = self.iterencode(o, _one_shot=True)
  File "/usr/local/lib/python3.8/json/encoder.py", line 257, in iterencode
    return _iterencode(o, 0)
  File "/usr/local/lib/python3.8/json/encoder.py", line 179, in default
    raise TypeError(f'Object of type {o.__class__.__name__} '
TypeError: Object of type CIMultiDictProxy is not JSON serializable

Add sensors

Is your feature request related to a problem? Please describe.
If you want to have sensors, then you have to create a input_text, and then create an automation.

Describe the solution you'd like
To create some entities that have the current status.

Describe alternatives you've considered
None I think.

Additional context
Here's my current automation to handle this:

- id: '1598210403721'
  alias: Zoom stuff
  description: ''
  trigger:
  - platform: webhook
    webhook_id: b44915ce-7a7a-43c8-953a-23c35d790097
  condition: []
  action:
  - choose:
    - conditions:
      - condition: template
        value_template: '{{ trigger.json.event == "user.presence_status_updated" }}'
      sequence:
      - data_template:
          entity_id: input_text.kendell_zoom_status
          value: '{{ trigger.json.payload.object.presence_status }}'
        service: input_text.set_value
    - conditions:
      - condition: template
        value_template: '{{ trigger.json.event == "meeting.started" }}'
      sequence:
      - data_template:
          entity_id: input_text.kendell_zoom_meeting
          value: '{{ trigger.json.payload.object.topic }}'
        service: input_text.set_value
  - choose:
    - conditions:
      - condition: template
        value_template: '{{ trigger.json.event == "user.presence_status_updated" }}'
      sequence:
      - data_template:
          entity_id: input_text.kendell_zoom_status
          value: '{{ trigger.json.payload.object.presence_status }}'
        service: input_text.set_value
    - conditions:
      - condition: template
        value_template: '{{ trigger.json.event == "meeting.started" }}'
      sequence:
      - data_template:
          entity_id: input_text.kendell_zoom_meeting
          value: '{{ trigger.json.payload.object.topic }}'
        service: input_text.set_value
    default: []
  mode: single

Missing code or state parameter

So I am having the same issue as was previously reported. "Missing code or state parameter" when I try to install the application from the App Marketplace. Yes, I have carefully reviewed that thread but did not see an actual resolution to the issue, or anything that helped me to fix the problem. I have crosschecked the client id, secret, and verification token as well as the URL for the callback and whitelisting. My server is available externally @ https://[servername].duckdns.org. I am also using the NGINX Home Assistant SSL proxy along with the Duck DNS add-on. Any further guidance? Does someone have an example of a known good installation URL?

I'll also add that I'm running core 2021.12.10 on Home Assistant OS 7.2 with supervisor 2022.01.0

Version of the custom_component

0.82

Configuration

zoom:
  - client_id: [clientid]
    client_secret: [secret]
    verification_token: [token]
    name: google

Describe the bug

HA Server reports:
Missing code or state parameter in http://[my valid server name]/auth/external/callback?code=[randomcode]

I also note that it reports http: rather than https:

Create sensors for contacts

Is your feature request related to a problem? Please describe.
It's possible to get the status of contacts using the Zoom API. I'd like to have sensors for my Zoom contacts, too.

Describe the solution you'd like
Get the list of contacts, and then get the status of each one.

Describe alternatives you've considered
โœ–๏ธ

Additional context
โœ–๏ธ

I can't find Zoom in the UI.

Version of the custom_component

v0.1

Configuration

I used the GUI.

Describe the bug

When I updated to the latest version, I looked in the integrations page, and couldn't find Zoom. I tried hard-refreshing, rebooting another time, and I still couldn't find it.

Debug log


2020-08-31 06:44:22 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for smartthinq_sensors which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-08-31 06:44:22 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for hacs which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-08-31 06:44:22 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for browser_mod which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-08-31 06:44:22 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for garbage_collection which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-08-31 06:44:22 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for scheduler which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-08-31 06:44:22 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for favicon which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-08-31 06:44:22 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for generic_hygrostat which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-08-31 06:44:22 WARNING (MainThread) [homeassistant.loader] You are using a custom integration for hpprinter which has not been tested by Home Assistant. This component might cause stability problems, be sure to disable it if you experience issues with Home Assistant.
2020-08-31 06:44:33 WARNING (MainThread) [homeassistant.setup] Setup of recorder is taking over 10 seconds.
2020-08-31 06:44:52 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 1: {'lovelace', 'config', 'cloud', 'onboarding', 'hassio', 'device_automation', 'auth', 'system_log', 'person', 'webhook', 'alexa', 'websocket_api', 'frontend', 'http', 'api', 'search'}
2020-08-31 06:44:54 INFO (SyncWorker_16) [homeassistant.loader] Loaded media_player from homeassistant.components.media_player
2020-08-31 06:44:54 INFO (SyncWorker_1) [homeassistant.loader] Loaded google_assistant from homeassistant.components.google_assistant
2020-08-31 06:44:57 INFO (SyncWorker_14) [homeassistant.loader] Loaded device_tracker from homeassistant.components.device_tracker
2020-08-31 06:44:57 INFO (MainThread) [homeassistant.bootstrap] Setting up stage 2: {'weather', 'local_ip', 'image_processing', 'script', 'sensor', 'cast', 'stream', 'emulated_hue', 'google', 'nws', 'persistent_notification', 'system_health', 'ssdp', 'tts', 'browser_mod', 'input_text', 'python_script', 'android_ip_webcam', 'mqtt', 'scheduler', 'ifttt', 'mobile_app', 'group', 'light', 'automation', 'input_select', 'history', 'logbook', 'sun', 'switch', 'notify', 'hpprinter', 'binary_sensor', 'esphome', 'smartthinq_sensors', 'zone', 'input_boolean', 'updater', 'hacs', 'map', 'camera', 'met', 'input_datetime', 'scene', 'garbage_collection', 'roku', 'default_config', 'shell_command', 'vacuum', 'input_number', 'ipp', 'upnp', 'favicon', 'zeroconf', 'generic_hygrostat'}
2020-08-31 06:44:57 INFO (SyncWorker_4) [homeassistant.loader] Loaded openweathermap from homeassistant.components.openweathermap
2020-08-31 06:44:58 INFO (SyncWorker_5) [homeassistant.loader] Loaded systemmonitor from homeassistant.components.systemmonitor
2020-08-31 06:44:58 INFO (SyncWorker_10) [homeassistant.util.package] Attempting install of httplib2==0.10.3
2020-08-31 06:44:58 INFO (SyncWorker_3) [homeassistant.loader] Loaded template from homeassistant.components.template
2020-08-31 06:44:58 INFO (SyncWorker_13) [homeassistant.loader] Loaded html5 from homeassistant.components.html5
2020-08-31 06:44:58 INFO (SyncWorker_13) [homeassistant.loader] Loaded tod from homeassistant.components.tod
2020-08-31 06:44:59 INFO (SyncWorker_1) [homeassistant.loader] Loaded fan from homeassistant.components.fan
2020-08-31 06:44:59 INFO (MainThread) [custom_components.smartthinq_sensors] 
-------------------------------------------------------------------
smartthinq_sensors
Version: 0.5.4
This is a custom component
If you have any issues with this you need to open an issue here:
https://github.com/ollo69/ha-smartthinq-sensors/issues
-------------------------------------------------------------------

2020-08-31 06:44:59 INFO (MainThread) [custom_components.smartthinq_sensors] Initializing SmartThinQ platform with region: US - language: en-US
2020-08-31 06:44:59 INFO (SyncWorker_12) [homeassistant.loader] Loaded generic from homeassistant.components.generic
2020-08-31 06:44:59 INFO (SyncWorker_7) [custom_components.favicon] Looking for icons in: /config/www/favicons/
2020-08-31 06:44:59 INFO (SyncWorker_7) [custom_components.favicon] Found apple icon: /local/favicons/favicon-apple-500.png
2020-08-31 06:44:59 INFO (SyncWorker_7) [custom_components.favicon] Found favicon: /local/favicons/favicon.ico
2020-08-31 06:44:59 INFO (SyncWorker_7) [custom_components.favicon] Found icon: /local/favicons/favicon-500x500.png
2020-08-31 06:44:59 INFO (SyncWorker_9) [homeassistant.loader] Loaded ping from homeassistant.components.ping
2020-08-31 06:44:59 INFO (SyncWorker_1) [homeassistant.loader] Loaded bayesian from homeassistant.components.bayesian
2020-08-31 06:45:00 INFO (SyncWorker_3) [homeassistant.loader] Loaded opencv from homeassistant.components.opencv
2020-08-31 06:45:01 INFO (MainThread) [custom_components.smartthinq_sensors] SmartThinQ client connected
2020-08-31 06:45:01 INFO (MainThread) [custom_components.smartthinq_sensors] Starting LGE ThinQ devices...
2020-08-31 06:45:01 INFO (SyncWorker_7) [custom_components.smartthinq_sensors.wideq.core_v2] Loading model info for Wetty. Model: T1872EFHU_F, Url: https://objectstore.lgthinq.com/ee493fda-91f0-4ae6-b4cb-b4689aa4a99a?***
2020-08-31 06:45:02 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1865348312] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 72, in update
    self.sensor = self.sensor or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'sensor'
2020-08-31 06:45:03 INFO (MainThread) [custom_components.smartthinq_sensors] LGE Device added. Name: Wetty - Type: WASHER - Model: T1872EFHU_F - Mac: 74:40*** - ID: 888b720a-***
2020-08-31 06:45:03 INFO (SyncWorker_16) [custom_components.smartthinq_sensors.wideq.core_v2] Loading model info for The Dryer Dryer. Model: RV13U7JS9W_D_US_WIFI, Url: https://objectstore.lgthinq.com/a0dd529d-485a-45bf-a403-df9b38c3981b?***
2020-08-31 06:45:04 INFO (MainThread) [custom_components.smartthinq_sensors] LGE Device added. Name: The Dryer Dryer - Type: DRYER - Model: RV13U7JS9W_D_US_WIFI - Mac: 60:ab:*** - ID: 0017d5e9***
2020-08-31 06:45:04 INFO (MainThread) [custom_components.smartthinq_sensors] Founds 2 LGE device(s)
2020-08-31 06:45:04 INFO (SyncWorker_18) [homeassistant.loader] Loaded nuheat from homeassistant.components.nuheat
2020-08-31 06:45:04 INFO (SyncWorker_11) [homeassistant.loader] Loaded harmony from homeassistant.components.harmony
2020-08-31 06:45:04 INFO (SyncWorker_17) [homeassistant.loader] Loaded vizio from homeassistant.components.vizio
2020-08-31 06:45:04 INFO (SyncWorker_11) [homeassistant.loader] Loaded syncthru from homeassistant.components.syncthru
2020-08-31 06:45:04 INFO (SyncWorker_22) [homeassistant.loader] Loaded meteo_france from homeassistant.components.meteo_france
2020-08-31 06:45:04 INFO (SyncWorker_13) [homeassistant.loader] Loaded awair from homeassistant.components.awair
2020-08-31 06:45:04 INFO (SyncWorker_12) [homeassistant.loader] Loaded mikrotik from homeassistant.components.mikrotik
2020-08-31 06:45:04 INFO (SyncWorker_11) [homeassistant.loader] Loaded sentry from homeassistant.components.sentry
2020-08-31 06:45:04 INFO (SyncWorker_18) [homeassistant.loader] Loaded adguard from homeassistant.components.adguard
2020-08-31 06:45:04 INFO (SyncWorker_6) [homeassistant.loader] Loaded twilio from homeassistant.components.twilio
2020-08-31 06:45:04 INFO (SyncWorker_12) [homeassistant.loader] Loaded myq from homeassistant.components.myq
2020-08-31 06:45:04 INFO (SyncWorker_2) [homeassistant.loader] Loaded ps4 from homeassistant.components.ps4
2020-08-31 06:45:04 INFO (SyncWorker_9) [homeassistant.loader] Loaded dexcom from homeassistant.components.dexcom
2020-08-31 06:45:04 INFO (SyncWorker_2) [homeassistant.loader] Loaded wolflink from homeassistant.components.wolflink
2020-08-31 06:45:04 INFO (SyncWorker_6) [homeassistant.loader] Loaded transmission from homeassistant.components.transmission
2020-08-31 06:45:04 INFO (SyncWorker_9) [homeassistant.loader] Loaded gdacs from homeassistant.components.gdacs
2020-08-31 06:45:04 INFO (SyncWorker_22) [homeassistant.loader] Loaded braviatv from homeassistant.components.braviatv
2020-08-31 06:45:04 INFO (SyncWorker_12) [homeassistant.loader] Loaded blink from homeassistant.components.blink
2020-08-31 06:45:04 INFO (SyncWorker_25) [homeassistant.loader] Loaded acmeda from homeassistant.components.acmeda
2020-08-31 06:45:04 INFO (SyncWorker_14) [homeassistant.loader] Loaded gpslogger from homeassistant.components.gpslogger
2020-08-31 06:45:04 INFO (SyncWorker_11) [homeassistant.loader] Loaded zerproc from homeassistant.components.zerproc
2020-08-31 06:45:04 INFO (SyncWorker_15) [homeassistant.loader] Loaded ring from homeassistant.components.ring
2020-08-31 06:45:04 INFO (SyncWorker_3) [homeassistant.loader] Loaded gogogate2 from homeassistant.components.gogogate2
2020-08-31 06:45:04 INFO (SyncWorker_1) [homeassistant.loader] Loaded ipma from homeassistant.components.ipma
2020-08-31 06:45:04 INFO (SyncWorker_18) [homeassistant.loader] Loaded opentherm_gw from homeassistant.components.opentherm_gw
2020-08-31 06:45:04 INFO (SyncWorker_17) [homeassistant.loader] Loaded ecobee from homeassistant.components.ecobee
2020-08-31 06:45:04 INFO (SyncWorker_28) [homeassistant.loader] Loaded minecraft_server from homeassistant.components.minecraft_server
2020-08-31 06:45:04 INFO (SyncWorker_29) [homeassistant.loader] Loaded point from homeassistant.components.point
2020-08-31 06:45:04 INFO (SyncWorker_22) [homeassistant.loader] Loaded velbus from homeassistant.components.velbus
2020-08-31 06:45:04 INFO (SyncWorker_0) [homeassistant.loader] Loaded ios from homeassistant.components.ios
2020-08-31 06:45:04 INFO (SyncWorker_13) [homeassistant.loader] Loaded fritzbox from homeassistant.components.fritzbox
2020-08-31 06:45:04 INFO (SyncWorker_23) [homeassistant.loader] Loaded sonarr from homeassistant.components.sonarr
2020-08-31 06:45:04 INFO (SyncWorker_19) [homeassistant.loader] Loaded totalconnect from homeassistant.components.totalconnect
2020-08-31 06:45:04 INFO (SyncWorker_25) [homeassistant.loader] Loaded dialogflow from homeassistant.components.dialogflow
2020-08-31 06:45:04 INFO (SyncWorker_21) [homeassistant.loader] Loaded blebox from homeassistant.components.blebox
2020-08-31 06:45:04 INFO (SyncWorker_11) [homeassistant.loader] Loaded lifx from homeassistant.components.lifx
2020-08-31 06:45:04 INFO (SyncWorker_6) [homeassistant.loader] Loaded rainmachine from homeassistant.components.rainmachine
2020-08-31 06:45:04 INFO (SyncWorker_26) [homeassistant.loader] Loaded devolo_home_control from homeassistant.components.devolo_home_control
2020-08-31 06:45:04 INFO (SyncWorker_5) [homeassistant.loader] Loaded elgato from homeassistant.components.elgato
2020-08-31 06:45:04 INFO (SyncWorker_27) [homeassistant.loader] Loaded forked_daapd from homeassistant.components.forked_daapd
2020-08-31 06:45:04 INFO (SyncWorker_4) [homeassistant.loader] Loaded tesla from homeassistant.components.tesla
2020-08-31 06:45:04 INFO (SyncWorker_20) [homeassistant.loader] Loaded traccar from homeassistant.components.traccar
2020-08-31 06:45:04 INFO (SyncWorker_9) [homeassistant.loader] Loaded onvif from homeassistant.components.onvif
2020-08-31 06:45:04 INFO (SyncWorker_24) [homeassistant.loader] Loaded atag from homeassistant.components.atag
2020-08-31 06:45:04 INFO (SyncWorker_14) [homeassistant.loader] Loaded logi_circle from homeassistant.components.logi_circle
2020-08-31 06:45:04 INFO (SyncWorker_29) [homeassistant.loader] Loaded dunehd from homeassistant.components.dunehd
2020-08-31 06:45:04 INFO (SyncWorker_18) [homeassistant.loader] Loaded islamic_prayer_times from homeassistant.components.islamic_prayer_times
2020-08-31 06:45:04 INFO (SyncWorker_12) [homeassistant.loader] Loaded tradfri from homeassistant.components.tradfri
2020-08-31 06:45:04 INFO (SyncWorker_1) [homeassistant.loader] Loaded pi_hole from homeassistant.components.pi_hole
2020-08-31 06:45:04 INFO (SyncWorker_30) [homeassistant.loader] Loaded wled from homeassistant.components.wled
2020-08-31 06:45:04 INFO (SyncWorker_16) [homeassistant.loader] Loaded axis from homeassistant.components.axis
2020-08-31 06:45:04 INFO (SyncWorker_3) [homeassistant.loader] Loaded coolmaster from homeassistant.components.coolmaster
2020-08-31 06:45:04 INFO (SyncWorker_15) [homeassistant.loader] Loaded openuv from homeassistant.components.openuv
2020-08-31 06:45:04 INFO (SyncWorker_22) [homeassistant.loader] Loaded bsblan from homeassistant.components.bsblan
2020-08-31 06:45:04 INFO (SyncWorker_0) [homeassistant.loader] Loaded volumio from homeassistant.components.volumio
2020-08-31 06:45:04 INFO (SyncWorker_23) [homeassistant.loader] Loaded ambiclimate from homeassistant.components.ambiclimate
2020-08-31 06:45:04 INFO (SyncWorker_4) [homeassistant.loader] Loaded hue from homeassistant.components.hue
2020-08-31 06:45:04 INFO (SyncWorker_23) [homeassistant.loader] Loaded luftdaten from homeassistant.components.luftdaten
2020-08-31 06:45:04 INFO (SyncWorker_19) [homeassistant.loader] Loaded emulated_roku from homeassistant.components.emulated_roku
2020-08-31 06:45:04 INFO (SyncWorker_13) [homeassistant.loader] Loaded directv from homeassistant.components.directv
2020-08-31 06:45:04 INFO (SyncWorker_19) [homeassistant.loader] Loaded somfy from homeassistant.components.somfy
2020-08-31 06:45:04 INFO (SyncWorker_11) [homeassistant.loader] Loaded elkm1 from homeassistant.components.elkm1
2020-08-31 06:45:04 INFO (SyncWorker_21) [homeassistant.loader] Loaded xiaomi_aqara from homeassistant.components.xiaomi_aqara
2020-08-31 06:45:04 INFO (SyncWorker_28) [homeassistant.loader] Loaded sense from homeassistant.components.sense
2020-08-31 06:45:04 INFO (SyncWorker_13) [homeassistant.loader] Loaded freebox from homeassistant.components.freebox
2020-08-31 06:45:04 INFO (SyncWorker_11) [homeassistant.loader] Loaded tado from homeassistant.components.tado
2020-08-31 06:45:04 INFO (SyncWorker_25) [homeassistant.loader] Loaded withings from homeassistant.components.withings
2020-08-31 06:45:04 INFO (SyncWorker_7) [homeassistant.loader] Loaded soma from homeassistant.components.soma
2020-08-31 06:45:04 INFO (SyncWorker_17) [homeassistant.loader] Loaded hangouts from homeassistant.components.hangouts
2020-08-31 06:45:04 INFO (SyncWorker_28) [homeassistant.loader] Loaded mailgun from homeassistant.components.mailgun
2020-08-31 06:45:04 INFO (SyncWorker_26) [homeassistant.loader] Loaded juicenet from homeassistant.components.juicenet
2020-08-31 06:45:04 INFO (SyncWorker_21) [homeassistant.loader] Loaded august from homeassistant.components.august
2020-08-31 06:45:04 INFO (SyncWorker_11) [homeassistant.loader] Loaded iqvia from homeassistant.components.iqvia
2020-08-31 06:45:04 INFO (SyncWorker_13) [homeassistant.loader] Loaded nut from homeassistant.components.nut
2020-08-31 06:45:04 INFO (SyncWorker_27) [homeassistant.loader] Loaded upb from homeassistant.components.upb
2020-08-31 06:45:04 INFO (SyncWorker_7) [homeassistant.loader] Loaded airly from homeassistant.components.airly
2020-08-31 06:45:04 INFO (SyncWorker_7) [homeassistant.loader] Loaded avri from homeassistant.components.avri
2020-08-31 06:45:04 INFO (SyncWorker_25) [homeassistant.loader] Loaded control4 from homeassistant.components.control4
2020-08-31 06:45:04 INFO (SyncWorker_6) [homeassistant.loader] Loaded dynalite from homeassistant.components.dynalite
2020-08-31 06:45:04 INFO (SyncWorker_9) [homeassistant.loader] Loaded squeezebox from homeassistant.components.squeezebox
2020-08-31 06:45:04 INFO (SyncWorker_27) [homeassistant.loader] Loaded abode from homeassistant.components.abode
2020-08-31 06:45:04 INFO (SyncWorker_19) [homeassistant.loader] Loaded homekit_controller from homeassistant.components.homekit_controller
2020-08-31 06:45:04 INFO (SyncWorker_21) [homeassistant.loader] Loaded flunearyou from homeassistant.components.flunearyou
2020-08-31 06:45:04 INFO (SyncWorker_8) [homeassistant.loader] Loaded wiffi from homeassistant.components.wiffi
2020-08-31 06:45:04 INFO (SyncWorker_11) [homeassistant.loader] Loaded solaredge from homeassistant.components.solaredge
2020-08-31 06:45:04 INFO (SyncWorker_5) [homeassistant.loader] Loaded geofency from homeassistant.components.geofency
2020-08-31 06:45:04 INFO (SyncWorker_28) [homeassistant.loader] Loaded powerwall from homeassistant.components.powerwall
2020-08-31 06:45:04 INFO (SyncWorker_13) [homeassistant.loader] Loaded homematicip_cloud from homeassistant.components.homematicip_cloud
2020-08-31 06:45:04 INFO (SyncWorker_7) [homeassistant.loader] Loaded vesync from homeassistant.components.vesync
2020-08-31 06:45:04 INFO (SyncWorker_12) [homeassistant.loader] Loaded notion from homeassistant.components.notion
2020-08-31 06:45:04 INFO (SyncWorker_21) [homeassistant.loader] Loaded geonetnz_volcano from homeassistant.components.geonetnz_volcano
2020-08-31 06:45:04 INFO (SyncWorker_25) [homeassistant.loader] Loaded plugwise from homeassistant.components.plugwise
2020-08-31 06:45:04 INFO (SyncWorker_27) [homeassistant.loader] Loaded hisense_aehw4a1 from homeassistant.components.hisense_aehw4a1
2020-08-31 06:45:04 INFO (SyncWorker_8) [homeassistant.loader] Loaded sms from homeassistant.components.sms
2020-08-31 06:45:04 INFO (SyncWorker_20) [homeassistant.loader] Loaded icloud from homeassistant.components.icloud
2020-08-31 06:45:04 INFO (SyncWorker_19) [homeassistant.loader] Loaded neato from homeassistant.components.neato
2020-08-31 06:45:04 INFO (SyncWorker_24) [homeassistant.loader] Loaded sonos from homeassistant.components.sonos
2020-08-31 06:45:04 INFO (SyncWorker_30) [homeassistant.loader] Loaded izone from homeassistant.components.izone
2020-08-31 06:45:04 INFO (SyncWorker_12) [homeassistant.loader] Loaded smartthings from homeassistant.components.smartthings
2020-08-31 06:45:04 INFO (SyncWorker_27) [homeassistant.loader] Loaded hunterdouglas_powerview from homeassistant.components.hunterdouglas_powerview
2020-08-31 06:45:04 INFO (SyncWorker_18) [homeassistant.loader] Loaded gios from homeassistant.components.gios
2020-08-31 06:45:04 INFO (SyncWorker_21) [homeassistant.loader] Loaded enocean from homeassistant.components.enocean
2020-08-31 06:45:04 INFO (SyncWorker_26) [homeassistant.loader] Loaded garmin_connect from homeassistant.components.garmin_connect
2020-08-31 06:45:04 INFO (SyncWorker_4) [homeassistant.loader] Loaded rachio from homeassistant.components.rachio
2020-08-31 06:45:04 INFO (SyncWorker_8) [homeassistant.loader] Loaded zwave from homeassistant.components.zwave
2020-08-31 06:45:04 INFO (SyncWorker_17) [homeassistant.loader] Loaded samsungtv from homeassistant.components.samsungtv
2020-08-31 06:45:04 INFO (SyncWorker_32) [homeassistant.loader] Loaded azure_devops from homeassistant.components.azure_devops
2020-08-31 06:45:04 INFO (SyncWorker_24) [homeassistant.loader] Loaded plaato from homeassistant.components.plaato
2020-08-31 06:45:04 INFO (SyncWorker_30) [homeassistant.loader] Loaded vera from homeassistant.components.vera
2020-08-31 06:45:04 INFO (SyncWorker_31) [homeassistant.loader] Loaded ovo_energy from homeassistant.components.ovo_energy
2020-08-31 06:45:04 INFO (SyncWorker_19) [homeassistant.loader] Loaded tibber from homeassistant.components.tibber
2020-08-31 06:45:04 INFO (SyncWorker_6) [homeassistant.loader] Loaded brother from homeassistant.components.brother
2020-08-31 06:45:04 INFO (SyncWorker_14) [homeassistant.loader] Loaded life360 from homeassistant.components.life360
2020-08-31 06:45:04 INFO (SyncWorker_25) [homeassistant.loader] Loaded cert_expiry from homeassistant.components.cert_expiry
2020-08-31 06:45:04 INFO (SyncWorker_26) [homeassistant.loader] Loaded locative from homeassistant.components.locative
2020-08-31 06:45:04 INFO (SyncWorker_12) [homeassistant.loader] Loaded panasonic_viera from homeassistant.components.panasonic_viera
2020-08-31 06:45:04 INFO (SyncWorker_3) [homeassistant.loader] Loaded vilfo from homeassistant.components.vilfo
2020-08-31 06:45:04 INFO (SyncWorker_7) [homeassistant.loader] Loaded shopping_list from homeassistant.components.shopping_list
2020-08-31 06:45:04 INFO (SyncWorker_8) [homeassistant.loader] Loaded nest from homeassistant.components.nest
2020-08-31 06:45:04 INFO (SyncWorker_4) [homeassistant.loader] Loaded toon from homeassistant.components.toon
2020-08-31 06:45:04 INFO (SyncWorker_20) [homeassistant.loader] Loaded glances from homeassistant.components.glances
2020-08-31 06:45:04 INFO (SyncWorker_27) [homeassistant.loader] Loaded spotify from homeassistant.components.spotify
2020-08-31 06:45:04 INFO (SyncWorker_15) [homeassistant.loader] Loaded ozw from homeassistant.components.ozw
2020-08-31 06:45:04 INFO (SyncWorker_22) [homeassistant.loader] Loaded konnected from homeassistant.components.konnected
2020-08-31 06:45:04 INFO (SyncWorker_33) [homeassistant.loader] Loaded solarlog from homeassistant.components.solarlog
2020-08-31 06:45:04 INFO (SyncWorker_17) [homeassistant.loader] Loaded deconz from homeassistant.components.deconz
2020-08-31 06:45:04 INFO (SyncWorker_16) [homeassistant.loader] Loaded simplisafe from homeassistant.components.simplisafe
2020-08-31 06:45:04 INFO (SyncWorker_19) [homeassistant.loader] Loaded hvv_departures from homeassistant.components.hvv_departures
2020-08-31 06:45:04 INFO (SyncWorker_30) [homeassistant.loader] Loaded doorbird from homeassistant.components.doorbird
2020-08-31 06:45:04 INFO (SyncWorker_18) [homeassistant.loader] Loaded twentemilieu from homeassistant.components.twentemilieu
2020-08-31 06:45:04 INFO (SyncWorker_32) [homeassistant.loader] Loaded zha from homeassistant.components.zha
2020-08-31 06:45:04 INFO (SyncWorker_29) [homeassistant.loader] Loaded almond from homeassistant.components.almond
2020-08-31 06:45:04 INFO (SyncWorker_17) [homeassistant.loader] Loaded guardian from homeassistant.components.guardian
2020-08-31 06:45:04 INFO (SyncWorker_1) [homeassistant.loader] Loaded homekit from homeassistant.components.homekit
2020-08-31 06:45:04 INFO (SyncWorker_22) [homeassistant.loader] Loaded plex from homeassistant.components.plex
2020-08-31 06:45:04 INFO (SyncWorker_0) [homeassistant.loader] Loaded heos from homeassistant.components.heos
2020-08-31 06:45:04 INFO (SyncWorker_16) [homeassistant.loader] Loaded monoprice from homeassistant.components.monoprice
2020-08-31 06:45:04 INFO (SyncWorker_1) [homeassistant.loader] Loaded airvisual from homeassistant.components.airvisual
2020-08-31 06:45:04 INFO (SyncWorker_19) [homeassistant.loader] Loaded daikin from homeassistant.components.daikin
2020-08-31 06:45:04 INFO (SyncWorker_20) [homeassistant.loader] Loaded geonetnz_quakes from homeassistant.components.geonetnz_quakes
2020-08-31 06:45:04 INFO (SyncWorker_17) [homeassistant.loader] Loaded flick_electric from homeassistant.components.flick_electric
2020-08-31 06:45:04 INFO (SyncWorker_29) [homeassistant.loader] Loaded ambient_station from homeassistant.components.ambient_station
2020-08-31 06:45:04 INFO (SyncWorker_34) [homeassistant.loader] Loaded poolsense from homeassistant.components.poolsense
2020-08-31 06:45:04 INFO (SyncWorker_22) [homeassistant.loader] Loaded tellduslive from homeassistant.components.tellduslive
2020-08-31 06:45:04 INFO (SyncWorker_0) [homeassistant.loader] Loaded huawei_lte from homeassistant.components.huawei_lte
2020-08-31 06:45:04 INFO (SyncWorker_24) [homeassistant.loader] Loaded roomba from homeassistant.components.roomba
2020-08-31 06:45:04 INFO (SyncWorker_19) [homeassistant.loader] Loaded pvpc_hourly_pricing from homeassistant.components.pvpc_hourly_pricing
2020-08-31 06:45:04 INFO (SyncWorker_9) [homeassistant.loader] Loaded plum_lightpad from homeassistant.components.plum_lightpad
2020-08-31 06:45:04 INFO (SyncWorker_18) [homeassistant.loader] Loaded agent_dvr from homeassistant.components.agent_dvr
2020-08-31 06:45:04 INFO (SyncWorker_16) [homeassistant.loader] Loaded melcloud from homeassistant.components.melcloud
2020-08-31 06:45:04 INFO (SyncWorker_32) [homeassistant.loader] Loaded xiaomi_miio from homeassistant.components.xiaomi_miio
2020-08-31 06:45:04 INFO (SyncWorker_5) [homeassistant.loader] Loaded coronavirus from homeassistant.components.coronavirus
2020-08-31 06:45:04 INFO (SyncWorker_23) [homeassistant.loader] Loaded bond from homeassistant.components.bond
2020-08-31 06:45:04 INFO (SyncWorker_13) [homeassistant.loader] Loaded iaqualink from homeassistant.components.iaqualink
2020-08-31 06:45:04 INFO (SyncWorker_22) [homeassistant.loader] Loaded mill from homeassistant.components.mill
2020-08-31 06:45:04 INFO (SyncWorker_26) [homeassistant.loader] Loaded hlk_sw16 from homeassistant.components.hlk_sw16
2020-08-31 06:45:04 INFO (SyncWorker_28) [homeassistant.loader] Loaded smappee from homeassistant.components.smappee
2020-08-31 06:45:04 INFO (SyncWorker_36) [homeassistant.loader] Loaded griddy from homeassistant.components.griddy
2020-08-31 06:45:04 INFO (SyncWorker_17) [homeassistant.loader] Loaded isy994 from homeassistant.components.isy994
2020-08-31 06:45:04 INFO (SyncWorker_24) [homeassistant.loader] Loaded tuya from homeassistant.components.tuya
2020-08-31 06:45:04 INFO (SyncWorker_31) [homeassistant.loader] Loaded synology_dsm from homeassistant.components.synology_dsm
2020-08-31 06:45:04 INFO (SyncWorker_23) [homeassistant.loader] Loaded nexia from homeassistant.components.nexia
2020-08-31 06:45:04 INFO (SyncWorker_29) [homeassistant.loader] Loaded netatmo from homeassistant.components.netatmo
2020-08-31 06:45:04 INFO (SyncWorker_0) [homeassistant.loader] Loaded speedtestdotnet from homeassistant.components.speedtestdotnet
2020-08-31 06:45:04 INFO (SyncWorker_20) [homeassistant.loader] Loaded wemo from homeassistant.components.wemo
2020-08-31 06:45:04 INFO (SyncWorker_16) [homeassistant.loader] Loaded flume from homeassistant.components.flume
2020-08-31 06:45:04 INFO (SyncWorker_12) [homeassistant.loader] Loaded smarthab from homeassistant.components.smarthab
2020-08-31 06:45:04 INFO (SyncWorker_18) [homeassistant.loader] Loaded accuweather from homeassistant.components.accuweather
2020-08-31 06:45:04 INFO (SyncWorker_5) [homeassistant.loader] Loaded owntracks from homeassistant.components.owntracks
2020-08-31 06:45:04 INFO (SyncWorker_34) [homeassistant.loader] Loaded denonavr from homeassistant.components.denonavr
2020-08-31 06:45:04 INFO (SyncWorker_19) [homeassistant.loader] Loaded arcam_fmj from homeassistant.components.arcam_fmj
2020-08-31 06:45:04 INFO (SyncWorker_1) [homeassistant.loader] Loaded home_connect from homeassistant.components.home_connect
2020-08-31 06:45:04 INFO (SyncWorker_9) [homeassistant.loader] Loaded smhi from homeassistant.components.smhi
2020-08-31 06:45:04 INFO (SyncWorker_11) [homeassistant.loader] Loaded unifi from homeassistant.components.unifi
2020-08-31 06:45:04 INFO (SyncWorker_13) [homeassistant.loader] Loaded tile from homeassistant.components.tile
2020-08-31 06:45:04 INFO (SyncWorker_26) [homeassistant.loader] Loaded tplink from homeassistant.components.tplink
2020-08-31 06:45:04 INFO (SyncWorker_22) [homeassistant.loader] Loaded starline from homeassistant.components.starline
2020-08-31 06:45:04 INFO (SyncWorker_32) [homeassistant.loader] Loaded metoffice from homeassistant.components.metoffice
2020-08-31 06:45:04 INFO (SyncWorker_30) [homeassistant.loader] Loaded songpal from homeassistant.components.songpal
2020-08-31 06:45:04 INFO (SyncWorker_3) [homeassistant.loader] Loaded spider from homeassistant.components.spider
2020-08-31 06:45:05 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:05 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 72, in update
    self.sensor = self.sensor or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'sensor'
2020-08-31 06:45:05 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:06 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:06 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:07 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:07 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:08 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:08 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:09 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 72, in update
    self.sensor = self.sensor or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'sensor'
2020-08-31 06:45:09 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 72, in update
    self.sensor = self.sensor or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'sensor'
2020-08-31 06:45:09 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:09 WARNING (MainThread) [homeassistant.setup] Setup of browser_mod is taking over 10 seconds.
2020-08-31 06:45:09 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:10 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:10 WARNING (MainThread) [homeassistant.components.webhook] Received message for unregistered webhook 4690547cdba79edcdc0ee7d35e1aad5a3b43762b75c63a345080c5c1b4f0df37 from 50.54.137.180
2020-08-31 06:45:11 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:11 WARNING (MainThread) [homeassistant.components.webhook] Received message for unregistered webhook 4690547cdba79edcdc0ee7d35e1aad5a3b43762b75c63a345080c5c1b4f0df37 from 50.54.137.180
2020-08-31 06:45:11 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:12 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:12 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:13 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:13 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:14 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:14 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 72, in update
    self.sensor = self.sensor or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'sensor'
2020-08-31 06:45:14 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:15 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:15 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:16 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:16 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:17 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:17 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:18 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:18 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:19 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:19 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:20 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:20 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:21 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:22 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:22 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:23 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:23 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:24 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:24 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:25 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:25 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:26 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:26 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:27 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:27 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:28 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:28 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:29 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:29 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:30 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:30 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:31 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:32 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:32 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:33 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:33 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:34 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:34 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:34 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 72, in update
    self.sensor = self.sensor or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'sensor'
2020-08-31 06:45:36 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:37 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:38 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:39 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:40 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:40 INFO (SyncWorker_34) [homeassistant.loader] Loaded calendar from homeassistant.components.calendar
2020-08-31 06:45:40 INFO (SyncWorker_9) [googleapiclient.discovery] URL being requested: GET https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest
2020-08-31 06:45:41 INFO (SyncWorker_9) [googleapiclient.discovery] URL being requested: GET https://www.googleapis.com/calendar/v3/users/me/calendarList?alt=json
2020-08-31 06:45:41 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:42 INFO (SyncWorker_6) [homeassistant.loader] Loaded filter from homeassistant.components.filter
2020-08-31 06:45:42 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:43 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:43 INFO (SyncWorker_2) [googleapiclient.discovery] URL being requested: GET https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest
2020-08-31 06:45:43 INFO (SyncWorker_2) [googleapiclient.discovery] URL being requested: GET https://www.googleapis.com/calendar/v3/calendars/k***%40gmail.com/events?orderBy=startTime&maxResults=250&singleEvents=true&q=%23Family&timeMin=2020-08-31T06%3A45%3A43.646485-07%3A00&alt=json
2020-08-31 06:45:44 INFO (SyncWorker_28) [homeassistant.loader] Loaded google_translate from homeassistant.components.google_translate
2020-08-31 06:45:44 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:46 INFO (SyncWorker_29) [googleapiclient.discovery] URL being requested: GET https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest
2020-08-31 06:45:46 INFO (SyncWorker_11) [homeassistant.loader] Loaded history_stats from homeassistant.components.history_stats
2020-08-31 06:45:47 INFO (SyncWorker_29) [googleapiclient.discovery] URL being requested: GET https://www.googleapis.com/calendar/v3/calendars/k***%40gmail.com/events?orderBy=startTime&maxResults=500&singleEvents=true&q=%23Busy&timeMin=2020-08-31T06%3A45%3A46.982983-07%3A00&alt=json
2020-08-31 06:45:47 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:47 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:47 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:48 INFO (SyncWorker_36) [googleapiclient.discovery] URL being requested: GET https://www.googleapis.com/discovery/v1/apis/calendar/v3/rest
2020-08-31 06:45:48 INFO (SyncWorker_4) [homeassistant.loader] Loaded rest from homeassistant.components.rest
2020-08-31 06:45:48 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:48 INFO (SyncWorker_36) [googleapiclient.discovery] URL being requested: GET https://www.googleapis.com/calendar/v3/calendars/k***%40gmail.com/events?orderBy=startTime&maxResults=20&singleEvents=true&q=%23Read&timeMin=2020-08-31T06%3A45%3A48.829391-07%3A00&alt=json
2020-08-31 06:45:49 INFO (MainThread) [custom_components.hacs] 
-------------------------------------------------------------------
HACS (Home Assistant Community Store)

Version: 1.5.2
This is a custom integration
If you have any issues with this you need to open an issue here:
https://github.com/hacs/integration/issues
-------------------------------------------------------------------

2020-08-31 06:45:49 ERROR (MainThread) [homeassistant.components.websocket_api.http.connection.1861262136] Error handling message: Unknown error
Traceback (most recent call last):
  File "/usr/src/homeassistant/homeassistant/components/websocket_api/connection.py", line 95, in async_handle
    handler(self.hass, self, schema(msg))
  File "/config/custom_components/browser_mod/connection.py", line 36, in handle_update
    devices[deviceID].update(msg.get("data", None))
  File "/config/custom_components/browser_mod/connection.py", line 108, in update
    self.camera = self.camera or create_entity(
  File "/config/custom_components/browser_mod/helpers.py", line 30, in create_entity
    adder = hass.data[DOMAIN][DATA_ADDERS][platform]
KeyError: 'camera'
2020-08-31 06:45:49 INFO (MainThread) [custom_components.smartthinq_sensors.sensor] Starting LGE ThinQ sensors...
2020-08-31 06:45:49 INFO (SyncWorker_16) [homeassistant.loader] Loaded mjpeg from homeassistant.components.mjpeg
2020-08-31 06:45:49 INFO (MainThread) [custom_components.hpprinter.managers.home_assistant] Handling ConfigEntry initialization: {'entry_id': '6428ddf5e8cf437d86c57d69ad8204f2', 'version': 1, 'domain': 'hpprinter', 'title': 'HP Printer', 'data': {'host': 'HP5C69BE.home', 'name': 'HP Printer'}, 'options': {}, 'system_options': {'disable_new_entities': False}, 'source': 'user', 'connection_class': 'local_poll', 'unique_id': None}
2020-08-31 06:45:49 INFO (SyncWorker_15) [homeassistant.loader] Loaded humidifier from homeassistant.components.humidifier
2020-08-31 06:45:52 INFO (MainThread) [custom_components.generic_hygrostat.humidifier] Obtained current and target humidity. Generic hygrostat active. 46, 49
2020-08-31 06:45:52 INFO (SyncWorker_23) [homeassistant.loader] Loaded remote from homeassistant.components.remote
2020-08-31 06:45:52 INFO (SyncWorker_4) [pychromecast] Querying device status
2020-08-31 06:45:52 INFO (SyncWorker_1) [pychromecast] Querying device status
2020-08-31 06:45:52 INFO (SyncWorker_21) [pychromecast] Querying device status
2020-08-31 06:45:52 INFO (SyncWorker_17) [pychromecast] Querying device status
2020-08-31 06:45:52 INFO (SyncWorker_3) [pychromecast] Querying device status
2020-08-31 06:45:53 INFO (MainThread) [custom_components.hpprinter.binary_sensor] Added new HP Printer Connectivity
2020-08-31 06:45:53 INFO (MainThread) [custom_components.hpprinter.sensor] Added new HP Printer Status
2020-08-31 06:45:53 INFO (MainThread) [custom_components.hpprinter.sensor] Added new HP Printer Printer
2020-08-31 06:45:53 INFO (MainThread) [custom_components.hpprinter.sensor] Added new HP Printer Scanner
2020-08-31 06:45:53 INFO (MainThread) [custom_components.hpprinter.sensor] Added new HP Printer Ink Black
2020-08-31 06:45:53 INFO (MainThread) [custom_components.hpprinter.sensor] Added new HP Printer Ink Cyan
2020-08-31 06:45:53 INFO (MainThread) [custom_components.hpprinter.sensor] Added new HP Printer Ink Magenta
2020-08-31 06:45:53 INFO (MainThread) [custom_components.hpprinter.sensor] Added new HP Printer Ink Yellow
2020-08-31 06:45:53 INFO (MainThread) [custom_components.hpprinter.sensor] Added new HP Printer Printhead CyanMagentaYellowBlack
2020-08-31 06:45:53 INFO (MainThread) [custom_components.hacs.repository.integration.hacs.integration] Registration completed
2020-08-31 06:45:54 INFO (MainThread) [custom_components.hacs.data] Restore started
2020-08-31 06:45:57 WARNING (MainThread) [homeassistant.bootstrap] Waiting on integrations to complete setup: nws, hacs, upnp
2020-08-31 06:45:57 INFO (MainThread) [custom_components.hacs.data] Restore done
2020-08-31 06:46:03 INFO (MainThread) [homeassistant.bootstrap] Home Assistant initialized in 101.96s
2020-08-31 06:46:03 INFO (MainThread) [homeassistant.core] Starting Home Assistant
2020-08-31 06:46:04 INFO (MainThread) [homeassistant.core] Timer:starting
2020-08-31 06:46:06 WARNING (Recorder) [homeassistant.components.recorder] Event is not JSON serializable: <Event platform_discovered[L]: service=load_platform.humidifier, platform=generic_hygrostat, discovered=name=Upstairs bedroom, humidifier=switch.kendell_s_humidifier, target_sensor=sensor.filtered_humidifier_humidity, min_humidity=35, max_humidity=60, device_class=humidifier, target_humidity=50, min_cycle_duration=0:02:00, dry_tolerance=2, wet_tolerance=2, keep_alive=0:00:30, sensor_stale_duration=0:20:00>
2020-08-31 06:46:08 INFO (MainThread) [custom_components.hacs] Loading known repositories
2020-08-31 06:46:08 WARNING (MainThread) [homeassistant.components.automation.let_mirror_know_when_anything_changes] Let mirror know when anything changes: Already running
2020-08-31 06:46:08 WARNING (MainThread) [homeassistant.components.automation.let_mirror_know_when_anything_changes] Let mirror know when anything changes: Already running
2020-08-31 06:46:08 WARNING (MainThread) [homeassistant.components.image_processing] Updating opencv image_processing took longer than the scheduled update interval 0:00:02
2020-08-31 06:46:16 ERROR (MainThread) [homeassistant.components.image_processing] Error on receive image from entity: Unable to get image

Error after upgrading to 0.8.0

Version of the custom_component

0.8.0

Describe the bug

The following error showing multiple times in HA logs after upgrading to 0.8.0.

Debug log


Error doing job: Task exception was never retrieved
Traceback (most recent call last):
  File "/config/custom_components/zoom/binary_sensor.py", line 288, in async_event_received
    token = status.pop("token")
KeyError: 'token'

Integration is using deprecated `DEVICE_CLASS_*` constants

Version of the custom_component

Any

Configuration

n/a

Describe the bug

This custom integration uses deprecated DEVICE_CLASS_* constants in its codebase.

The DEVICE_CLASS_* constants have been deprecated and replaced in Home Assistant Core 2021.12 (over a year ago). I would highly suggest updating/migrating this integration to the new enums.

For example, for the device classes supported by the sensor platform, there is now a SensorDeviceClass enum. So if a sensor previously used the DEVICE_CLASS_ENERGY constant, it should now use SensorDeviceClass.ENERGY. Other platforms (like binary_sensor, and number) provide similar enumerations for their supported device classes.

The migration thus only consists of replacing constants with an enumeration member and is, therefore, very low impact and should be fairly straightforward.

If I can help resolve any questions regarding this change or migration, feel free to ask or respond to this issue. I'm happy to help!

Kindest regards,

../Frenck

Debug log


n/a

URL validation failed. Try again later.

Version of the custom_component

[v0.8.4]

Describe the bug

Sets up in HA correctly, seems to connect to Zoom ok. However, Zoom says I cannot activate the app without Event Notification Endpoint Validation, and I cannot get it to validate. I am using the Nabu Casa URL, it ends in ui.nabu.casa/api/zoom. I believe I am not getting any notifications because the app is not 'active'.

Use 3rd party service to make publishable

Is your feature request related to a problem? Please describe.
This requires making a custom app to use.

Describe the solution you'd like
Use a third-party server to forward requests to an HA instance, I'd recommend Heroku. You could use an online form to configure to route an email address to a URL.

Describe alternatives you've considered
โœ–๏ธ

Additional context
โœ–๏ธ

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.