Guide · Home Assistant
Can Home Assistant work with Rako, Sonos, Reolink and Hikvision?
Yes. Home Assistant can sit on top of Rako lighting, Sonos audio, Reolink cameras and a Hikvision recorder at the same time, giving you one app and one set of automations without replacing any of the hardware underneath. What differs is how each system connects, and each has at least one gotcha worth knowing before you start.
The short version
| System | How it connects | Runs | Watch out for |
|---|---|---|---|
| Rako lighting | Community integration (home-assistant-rako), installed through HACS, talking to the Rako bridge | Locally | Older versions crash on some firmware responses; no fade/transition control; check the dashboard follows the real lights |
| Sonos | Built-in Sonos integration | Locally | Duplicate entities on older units; first-generation hardware and WiFi |
| Reolink | Built-in Reolink integration (cameras and Home Hub) | Locally | Smart detection must be switched on in the Reolink app; hub mode and camera privacy are separate controls |
| Hikvision | Built-in Hikvision integration or ONVIF, via the recorder | Locally | Events are generic motion events, not separate person and vehicle sensors |
| Daikin air conditioning | Daikin Onecta integration, installed through HACS | Manufacturer's cloud | Shared daily API limit; schedules and fan-mode names |
| GivEnergy battery and solar | Cloud API, or locally with GivTCP | Either | Local avoids depending on the manufacturer's cloud |
Rako lighting
Rako isn't part of Home Assistant's core integrations. It connects through a community integration, home-assistant-rako, which you install with HACS. It talks to the Rako bridge on your local network, and each room appears as a light entity. It is push-based: Home Assistant relies on the integration reporting each change rather than polling for it.
- A crash on some firmware responses. On one Surrey installation the integration failed on a response its code didn't expect (a
KeyError: 'levelInfo'in the underlyingrakopylibrary). We patched it, reported it upstream, and the fix landed inhome-assistant-rako0.0.13 /rakopy0.0.7. If Rako rooms are missing, check you're on a release with that fix. - No fade control. The integration's lights don't expose a transition setting, so you can't set a fade time from an automation. It's a limit of the integration, not a hidden option.
- Check the dashboard tells the truth. Switch a light from a wall keypad and from Home Assistant, and confirm the dashboard follows each change. Because the integration is push-based, a missed update leaves a light showing as on when it's off, and any group built from those lights inherits the same wrong state.
Sonos
Sonos uses Home Assistant's built-in integration, runs locally, and every speaker appears as a media_player. Three things to know:
- Use only the native entity. Older Connect:Amp (ZP120) units can appear twice: once as a legacy UPnP-style entity and once as the newer native Sonos entity. Using both caused audible stuttering on one install. Pick the native one.
- Announcements. To play a doorbell chime across several speakers and then restore whatever was playing, call
media_player.play_mediawithannounce: trueon the grouped speakers. The integration handles the volume duck and the restore for you. - Older hardware and WiFi. First-generation Connect:Amp units are 2.4GHz only and chatty on multicast traffic, which matters in a large house with many of them. Wire them where you can, or move them onto SonosNet or a dedicated 2.4GHz network rather than your main WiFi. Also check whether your system runs the S1 or S2 app, because first-generation hardware can hold a system on S1.
action: media_player.play_media
target:
entity_id:
- media_player.kitchen_kitchen
- media_player.lounge_lounge
data:
media_content_id: http://homeassistant.local:8123/local/doorbell/chime.mp3
media_content_type: music
announce: true
extra:
volume_level: 0.4
Reolink
Reolink cameras and the Reolink Home Hub use the built-in integration and run locally.
- Turn on smart detection first. Person, vehicle and pet detection show up in Home Assistant as separate binary sensors, but only once "smart event detection" is enabled in the Reolink app.
- Hub mode is not camera privacy. The Home Hub exposes a scene mode (off, disarm, home, away, night time) as a
selectentity, but each camera also has its own Privacy Mode switch. Changing the hub's scene does not change the cameras' privacy switches, so a "coming home" routine needs to set both. The option names are also case-sensitive; one of ours isNight timewith a capital N. - Snapshots in alerts. Neither Reolink nor Hikvision attaches a picture to an alert by default. A small automation calls
camera.snapshotwhen the sensor fires, then sends the image with the notification. The oldernotify.mobile_app_<device>services still support image attachments on current Home Assistant, whereas the newernotify.send_messagedoes not yet, so check which is available on your version.
Hikvision
Hikvision's coax (HD-TVI) cameras don't speak to Home Assistant directly. The recorder digitises their signal, so Home Assistant talks to the recorder, once, and sees every channel through it. That also means a failed recorder is a hard blocker: until it's replaced, none of the coax cameras can be integrated.
- Enable ONVIF on the recorder under Configuration → Network → Advanced Settings → Integration Protocol, then create a dedicated non-admin user for Home Assistant rather than reusing the admin login.
- Test the stream first. Open the RTSP address in VLC before wiring it into Home Assistant (
rtsp://user:password@recorder-ip:554/Streaming/Channels/101is channel 1's main stream). - Expect generic motion events. Hikvision recorders can classify humans and vehicles, but Home Assistant's Hikvision integration exposes generic event types rather than separate person and vehicle sensors. Reolink gives you those as dedicated sensors. If person detection matters, that is a reason to choose Reolink for the cameras that need it.
Daikin air conditioning
The Daikin Onecta integration, installed through HACS, controls units through Daikin's cloud API, so it isn't fully local. We found three things worth checking on any Daikin job:
- One daily API limit for the whole account. The limit is shared across every unit, not per unit. Avoid automations that poll or command every few minutes, and have each one check the unit's current state before calling the API.
- Check which features the integration supports. On the units we worked on, the integration offered a single target temperature and no heat/cool temperature range. Calls that set a low and high target were silently not working. The integration's downloadable diagnostics list each entity's supported features, so check there before building around a range.
- The unit's own schedule can fight yours. A schedule set up in the Daikin app keeps running on the unit and can switch it off at times Home Assistant doesn't know about. Turn the onboard schedule off if Home Assistant is meant to be in charge.
Fan-mode names are also lowercase (auto, quiet, 1 to 5) even though the interface capitalises them. Use the value from the entity's attributes, not the label on screen.
GivEnergy and Octopus Energy
GivEnergy batteries and inverters can connect through the manufacturer's cloud API or locally over your network with GivTCP. Local means the data keeps flowing if the cloud service has a problem. The Octopus Energy integration brings your tariff and usage data into Home Assistant. Showing the data is straightforward; making the battery charge on cheap rates is a separate piece of automation, not something you get automatically.
What "working together" looks like
The point of connecting all of this is one action doing the work of several apps. A single "Going out" script can pause every Sonos speaker, switch off the TVs, turn off the air conditioning, set the cameras to away, lock the front door, close the garage door if it's open, and send a confirmation to whoever pressed it.
Two habits make this reliable. Put the actions in scripts and call those scripts from automations, dashboards and voice assistants, so each behaviour is defined once. And call slow scripts with script.turn_on instead of directly, so quick actions like locking the door and sending the notification don't wait behind slow ones like shutting down eighteen speakers.
Frequently asked questions
Do I have to replace my existing system?
No. Home Assistant sits alongside what you already have. Rako stays Rako and Sonos stays Sonos; Home Assistant connects them.
Will it work if the internet goes down?
Mostly. Rako, Sonos, Reolink, Hikvision and Shelly devices are controlled locally. Daikin Onecta depends on the manufacturer's cloud, and some remote-access options do too.
Is there a subscription?
Home Assistant itself is free and local control needs no subscription. Easy remote access through Home Assistant Cloud (Nabu Casa) is optional and was about £6.50 a month or £65 a year at the time of writing; check the current price.
Which is better for person detection, Reolink or Hikvision?
In Home Assistant, Reolink. It exposes person, vehicle and pet detection as separate sensors. Hikvision's integration exposes generic motion events.
Got Rako, Sonos or cameras you'd like working together?
We're engineer-led and cover Woking, Guildford, Reigate and the wider Surrey area. Tell us what you have and we'll tell you what's possible.