Kuna Surveillance Camera Support

This is the first I’ve heard of HACS - I’ll look into it!

As for the speaker, I haven’t had a chance to sit down with the camera and experiment. So it’s not a no, not possible, but I probably won’t get to it any time soon. PR’s welcome!

Thanks for your time and work on this! I’ll patiently wait for possible speaker support in the future. I hope one day I can learn how to help more!

Just released a major update to this custom component: v8. This version transitions this component away from configuration.yaml and to using config entries configured via the Configuration/Integrations menu. Because this is a major update, I suggest you completely delete the custom_components/kuna directory and re-clone from GitHub.

NOTE: v8 requires Home Assistant 0.96.0 or greater as this is the minimum version that supports custom integrations. If you are on HASS < 0.96.0, stay on v7.2 of this custom component.

Assuming all works as it should, the next step is PR’ing this component into Home Assistant as an official integration!

After installing and restarting Home Assistant, you will notice that your entities will be gone - not to worry. Configure the integration from Configuration/Integrations, and your entities will return with any customization you’ve given them (i.e. name, entity id).

Please let me know any issues here or on GitHub!

1 Like

I made the update on two devices and everything went smoothly. I did as you suggested and removed the directory and re-cloned it (I also deleted the pycache folder as well to be safe).

I was going to suggest adding this to HACS (the community store) but obviously PR’ing it as a first class citizen would be better.

Thanks again for your work on this. It’s fantastic.

Did you manage to get it working?

yep! the problem was on my end. Power went out at home, and cameras were off line.
the add-on works great via the integrations feature. thanks again.

v8 has been working without issue for me, thanks!

Has anyone had problems with the downloader component pulling down kuna_events that are either a.) a thumbnail (even though the kuna_event’s category is recording) and/or b.) an actual recording but only 10 or so seconds long (where the actual recording is much longer)? I have the nodered flow below set up to pull recordings down, but haven’t been able to avoid either of these ‘recordings’ from getting pulled down to my file system.

Firs off I would like to thank @marthocoo for the Kuna integration, it is AWESOME and works very well. I put the latest version onto our system with no issues and really appreciate the work done.

My actual request here though is that EVERYBODY who owns these Kuna devices and uses / wants to use them with Home Assistant reach out to Kuna support on a regular basis asking them to make a public (and even better local) API available for these devices. Yes, you are going to get the “we make these for the non-tech public” response but hoping if they get enough they would consider it. Having this available takes NOTHING aware from the non-tech and can only hope to ADD to the sales with more tech customers.

Things I would like to see, but with the limited access we have believe are not possible:

  1. Being able to adjust the light brightness in HA. Love the bright, but if I want to keep them on at night do not need all 2400 lumens blasting out
  2. Controlling the dusk / dawn times in HA instead of phone app.
  3. Ability to grab the streams from the cameras directly as their AI motion detection definitely leaves something to be desired. Even if I still had to have the AI subscription so they get their money I would be OK with this.

And I am sure there are many additional advanced automations that could take place with a complete API.

Thanks for listening, now go send Kuna support an e-mail!

A little late, but I updated to v8 and it also works well for me.

Do I assume this means we no longer need the config.yaml entries?

Hello @marthocoo,

I’m on hass 0.101.2 and don’t see this under integrations. Use old version?
Thanks

@marthocoo,

After configuring cameras with new integration feature i’m detecting motion sensor and light not updating automatically. Any ideas?

Thanks

I can’t think of a reason why the cameras wouldn’t update… none of that logic changed in the new version.

Woooo! Thanks for the great work!! Really this makes the camera more than twice as useful.

I am very happy with it as is. Here is an obscure feature request, just to press my luck:

  • a button or some way to easily enable the audio with voice (microphone) or even just to be able to make the barking sound with google assistant. I use that to call my dogs to the back door so I dont have to yell :slight_smile:

  • any way to cast to google home?

I’ve had a weird issue lately. Now that it’s darker for longer, I’ll get more motion triggers at dark which cause the light on Kuna to come on. This also properly shows the light as on in Home Assistant. After whatever amount of time, the Kuna light automatically turns off. However, the light state remains as on in Home Assistant. I can click to turn the state off (and that changes nothing on the actual light) and then it works normally again…until the next after dark motion trigger.

Is this just me?

No, it’s not just you, it’s an issue I posted about in this thread in Dec '18. As I understand it the API returns the out of date value, which is what we see in HA. Opening the phone app will cause the API to refresh with new data, making HA suddenly reflect the current state.

I imagine it might be a possibility for the custom component to tickle whatever the phone app does and cause the API to update with the current state, but I can’t say wha that would be, or whether it might cause more load and risking attracting the ire of the Kuna folks.

Just thankful that downloads of recordings can be automated, recording/motion notices are relatively timely, etc.

Just dropping in to say I’ve recently added this to HACS so you’ll now be able to install/update that way. Nothing new just yet but when there is HACS will be the way to get it.

I’m going to take a look at the “not updating” issue and see if I can uncover anything that the App has added recently that the python library is not doing. Will also explore whether we can trigger sound effects from within HA (e.g. via a service).

4 Likes

Hrm, has this broken with .109? It appears to load but when I try to do anything (switch light, view camera) I get:

Logger: aiohttp.server
Source: components/camera/__init__.py:510
First occurred: 12:49:00 PM (8 occurrences)
Last logged: 4:44:34 PM

Error handling request
Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_response.py", line 567, in body
    self._body = body = payload.PAYLOAD_REGISTRY.get(body)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/payload.py", line 106, in get
    raise LookupError()
aiohttp.payload.LookupError

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_protocol.py", line 418, in start
    resp = await task
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_app.py", line 458, in _handle
    resp = await handler(request)
  File "/usr/local/lib/python3.7/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 125, in handle
    result = await result
  File "/usr/src/homeassistant/homeassistant/components/camera/__init__.py", line 490, in get
    return await self.handle(request, camera)
  File "/usr/src/homeassistant/homeassistant/components/camera/__init__.py", line 510, in handle
    return web.Response(body=image, content_type=camera.content_type)
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_response.py", line 545, in __init__
    self.body = body
  File "/usr/local/lib/python3.7/site-packages/aiohttp/web_response.py", line 569, in body
    raise ValueError('Unsupported body type %r' % type(body))
ValueError: Unsupported body type <class 'coroutine'>
1 Like

Well, I gave it a shot, but debugging is beyond me. It’s using the aiohttp helper similarly to other custom components, but fails when I try to view the camera or switch the light. Oddly, the motion event and downloading of videos still works, though.

Same for me.

+1 to the issues you have reported so far

1 Like