Everybody connects for themselves
The unusual part first, because most integrations do it the other way round: there is no house-wide connection everybody looks into.
Jump there →
Everybody connects for themselves
The unusual part first, because most integrations do it the other way round: there is no house-wide connection everybody looks into.
Jump there →
An address, a key, done
The integration is not in the Home Assistant catalogue, it is a project of its own.
Jump there →
The house, and your share of it
Two sorts of entity sit side by side on this device.
Jump there →
Radarr and Sonarr, each on its own
Every connected instance becomes its own device, hanging off Nexview. Run two Radarr and you see two, and an automation can say which one it means.
Jump there →
Everybody connects for themselves
The unusual part first, because most integrations do it the other way round: there is no house-wide connection everybody looks into.
Jump there →
Somebody requests a film. The phone buzzes, two buttons, done. That is the heart of the integration, and the rest is a bonus: every Radarr and Sonarr instance as its own device, the media server beside it, the allowances of everybody in the house, and a calendar of what is coming out. The integration is a project of its own, open source under the MIT licence, and installs through HACS.
The unusual part first, because most integrations do it the other way round: there is no house-wide connection everybody looks into. Each person enters their own key in their own Home Assistant and gets their own figures. Somebody else in the same household running their own Home Assistant gets theirs, and neither sees the other's.
The key decides what appears. Nexview hands out named access keys whose rights follow the account. The integration asks first what a key is allowed to do and creates only what fits. A personal key yields a handful of entities, an operator's key the lot. Nothing sits there greyed out, nothing answers a press with a refusal.
A key marked read only is enough for everything on display, notifications included. It gets no buttons and may decide nothing, but it is notified. That was deliberate: otherwise notifications would be the one reason to reach for the more powerful key.
The integration is not in the Home Assistant catalogue, it is a project of its own. So in HACS it is added once as a custom repository: the address DerKezorm/nexview-homeassistant, type Integration. After that Nexview is in the list and installs and updates like everything else.
You create the key in Nexview, under Profile → API tokens. It starts with nxv_ and is shown exactly once. Then in Home Assistant, under Devices & services, add the integration and enter the address and the key. What comes out of it follows the account the key belongs to.
It needs Nexview 0.30 and Home Assistant 2026.3. An older Nexview is turned away with a sentence naming the reason, rather than an error nobody can read.
One entry in Home Assistant, but not one device: what Nexview keeps apart is kept apart here too. If an instance goes away or a new one arrives, the list grows and shrinks with it, without a restart.
Nexview itself. The house at a glance, plus the figures of the account the key belongs to. The calendar, the three event entities and the update notice hang here too.
Every Radarr and every Sonarr. One device per instance, with its version, its queue and whatever it is complaining about. Run two Radarr, one of them for 4K, and you see both separately.
Every media server. Plex, Jellyfin and Emby each get one: how many titles are on them, how many streams are running, and how many of those the server is converting.
Every account you pick. Allowances and usage per person. Pick none and nothing appears here, which is deliberate: an installation with thirty accounts should not be handed two hundred values.
Two sorts of entity sit side by side on this device. Some describe the installation and appear only with an operator's key. The others start with My and belong to the account the key hangs off; everybody gets those.
Where there is no limit, there is no entity. An account without an allowance gets no remaining-value that says "unavailable" forever. And what an administrator requests belongs to the house in Nexview, not to them: their used space would sit at zero permanently, so it is never created.
Every value keeps history. A graph over the month costs nothing extra.
ReachableWhether Nexview answered the last poll. The only one that stays when Nexview goes down, otherwise it could not report the outage.My movies usedHow many films are counted against the account.My movies leftHow many more are allowed. Only appears where there is a limit.My series usedThe same for series.My series leftThe same for series.My storage usedHow much space the account's own titles take.My storage leftHow much the storage allowance still has in it.My allowance used upA yes or no. Nexview applies a number of titles and an amount of storage at the same time, and either one being full stops a request.My titlesHow many titles are attributed to the account. off by defaultMy unread notificationsWhat is unread in the account's own bell.My open ticketsThe account's own tickets that are still open.UpcomingA calendar of what is coming out, sitting beside the bin collection rather than in an app of its own.RequestsEvents about requests: received, approved, rejected, cancelled, deferred, downloaded, plus children's wishes and word that a title somebody was waiting for has arrived.StorageEvents about storage: release asked for, released, kept, deleted, grown.OperationsEvents about running the thing: the state of an instance, tickets, feedback, imported accounts.NexviewThe update notice, in the same list as everything else, so the installation does not sit at an old version for months.Push connectedWhether Nexview calls by itself or Home Assistant has to keep asking. diagnostic, off by defaultWaiting requestsRequests waiting for a decision. The value most automations listen to.Oldest request waitingSince when the oldest of them has been waiting. Enough to build a reminder that only fires after two days.Requests in progressApproved, but not finished downloading.Failed in the last 7 daysWhat went wrong over the past week. Above zero is a reason to look, not an emergency.Findings, errorsUnread findings from Nexview's self-check, at error level.Findings, warningsThe same, at warning level.Findings, hintsThe same, at hint level. off by defaultOpen ticketsOpen tickets across the whole house.Free spaceWhat is still free on the disk.Used by the libraryWhat the library takes altogether.Used by the houseThe part of it that was there before Nexview or was adopted later. It counts against no allowance.Used by the peopleThe part attributed to the residents. Only this one grows when somebody requests something.MoviesHow many films are in the library. off by defaultSeriesHow many series. off by defaultCheck for updatesA button: have Nexview look for a new version now.Reconcile storageA button: run the storage reconciliation right away instead of waiting for the next round.Mark findings as seenA button that does what opening the dashboard would. The findings counters go back to zero.Buttons only come with write access. A read-only key gets none at all, rather than buttons that are refused when pressed.
Every connected instance becomes its own device, hanging off Nexview. Run two Radarr and you see two, and an automation can say which one it means.
A button instead of a schedule. Test connection makes Nexview talk to the instance right now instead of waiting for the next round. It is the only errand here, and it changes nothing, it only asks.
ReachableWhether Nexview reaches the instance.ProblemsHow many complaints the instance has open. Radarr and Sonarr keep that list, and mostly nobody looks at it.VersionWhich version is running there.QueueHow much is in the queue right now.Stuck in queueHow much of that is not moving. The value a useful alert is built on.Missing titlesWhat the instance monitors but does not have. off by defaultCalls backWhether the way back from the instance to Nexview is set up. diagnosticTest connectionA button: ask right now.Titles on this serverHow many titles are on it.Playing nowHow many streams are running.Being convertedHow many of those the server is converting. The value that tells you the hardware is running out.Movie allowanceHow many films the account may have.Movies usedHow many of those are used.Movies leftHow many more are allowed.Series allowanceThe same for series.Series usedThe same for series.Series leftThe same for series.Storage allowanceHow much space the account may have.Storage usedHow much of it is taken.Storage leftHow much is still free.Open requestsHow many of the account's requests are still running.Last signed inWhen the account last signed in. Enough to answer which accounts are asleep.Allowance used upA yes or no, and which of the two limits it is.Here too: no limit, no entity. An account without a series allowance gets no series remainder, and an account nothing is attributed to gets no used space.
What an automation can do is an action, not a switch. Only a key allowed to decide may decide; the four that merely read work with any key.
approve_requestApprove a request.reject_requestReject a request, with a reason if you want.defer_requestPut a request off rather than turn it down.cancel_requestCancel a request that is already running.list_requestsFetch the waiting requests, with title, account and date.searchSearch Nexview for a title.active_downloadsWhat is downloading right now.get_quotaAsk for an account's allowance.now_playingWho is watching what.Who is watching what is deliberately not an entity. It comes from an action, because it belongs to the moment somebody asks, not in a database that keeps everything for years.
Without a way back, Home Assistant would have to keep asking on a schedule, and a request made just now would turn up a few minutes late. So the integration registers a target when it is set up, and Nexview sends by itself.
It sets that up itself. Nexview refuses to save a notification target that has not proven itself: it sends a test message carrying a four digit code, and only a caller who reads that code back may save. An HTTP 200 means "accepted", after all, not "arrived". The integration catches that code itself and hands it back, so nobody copies anything between two windows.
And when that fails, it says so. If Nexview cannot reach the Home Assistant, everything keeps working, only slower, and a repair notice names the reason.
In Nexview the way back is listed under Profile → API tokens, with a button to disconnect. Revoking the key takes it with it: otherwise Nexview would keep calling an address whose access has just been withdrawn. An operator sees every registered target at once under Settings → Notifications.
Nothing can be configured. No switches for accounts, none for allowances, no resetting. Everything is read, requests are decided, and a few operator errands exist as buttons, no more. An automation that misfires at three in the morning should not be able to reach any of it.
Child accounts do not appear. In Nexview they are sub-profiles of their parents, and their names and wishes do not belong in a database that records everything forever. A child's wish raises an event for the parents, and that is all.
Accounts only after you pick them. Pick none and you get no account devices. The selection lives in the integration's options and can be changed at any time.
You cannot make a request. Deciding happens in Home Assistant, searching too, but requesting happens in Nexview. A request is a decision with consequences for an allowance, and that belongs where you can see what you are setting off.
Home Assistant never talks to Radarr or Sonarr itself. Everything goes through Nexview, with its rights and its rules. Give an automation you do not trust a read-only key and it can do no harm.
The integration does not live in the Nexview project but beside it, under the MIT licence. It has its own version numbers, its own tests and its own issue tracker.