Skip to content
Get App

Локальный ИИ для Home Assistant - Selora AI

Overview and hands-on review of Selora AI, a local AI integration for Home Assistant enabling smart home automation with local and cloud LLM options.

Key Takeaways

  • Selora AI provides a local AI solution tailored for Home Assistant with both local and cloud LLM options.
  • The local model is optimized for smart home tasks but has language and entity recognition limitations.
  • Automation creation is functional but requires clear, English input for best results.
  • Health monitoring and entity management features help maintain smart home integrity.
  • MCP server integration offers flexible external control and enhances security.

What the video covers

  • Selora AI is an AI integration for Home Assistant that connects to a local LLM backend or cloud services like OpenAI and Google Gemini.
  • The project uses a proprietary on-device model optimized for smart home automation and offers features like chat, automation creation, and health analysis of smart home entities.
  • Installation is straightforward via GitHub with a sidebar configuration panel and multiple LLM provider options including local and cloud.
  • The local model is based on 17 billion parameters with sub-models specialized for automations, commands, and more.
  • The integration includes a Health tab that scans the smart home, identifies broken entities, and suggests fixes.
  • The local model shows good responsiveness for simple commands but has limitations understanding Russian and complex sensor queries.
  • Automation creation works better when commands are given in English; the model can generate automations based on sensor inputs and conditions.
  • Some sensors and entities may not be recognized correctly due to naming or type mismatches, requiring manual adjustments.
  • MCP server support allows external control and integration with other agents, providing isolated and safer smart home management.
  • The project is promising but currently limited in scope and accuracy, with potential improvements expected in future updates.

Answers

Questions about this video

What is Selora AI and how does it integrate with Home Assistant?

Selora AI is an artificial intelligence integration for Home Assistant that connects to a local or cloud-based large language model to assist with smart home automation, entity management, and scenario generation.

Can Selora AI run entirely locally without cloud services?

Yes, Selora AI offers a local LLM option based on a 17 billion parameter model with specialized sub-models, allowing users to run the AI backend on their own server without relying on paid cloud services.

What are the main limitations of the Selora AI local model?

The local model has limited language support, especially for Russian, struggles with complex sensor queries, and requires clear, English input for automation creation. Some entities may not be recognized correctly due to naming or type mismatches.

Full Transcript — Download SRT & Markdown

00:00
Speaker A
Hi there. There’s a project for Home Assistant called Celora AI. It’s an artificial intelligence project. It has a GitHub project page. So, what does it actually do? It’s an integration for Home Assistant. Let’s read the description verbatim. It’s a smart
00:21
Speaker A
home assistant for Home Assistant. It connects to the local LLM Celora AI backend. It claims to use their own proprietary, on-device model. You can also connect to cloud services like OpenAI, Google Gemini, or Ollama separately. It learns your smart
00:43
Speaker A
home’s quirks and generates automation scenarios in advance. At the same time, you retain full control over the process. What I liked about it, and what was announced—or what I read—is that they have a local model adapted for Home Assistant. That’s very
01:00
Speaker A
important because most models perform quite poorly. So, I decided to test it out. This integration features a chat and can create automations and scripts.
01:15
Speaker A
There’s a Health tab that analyzes your smart home, identifies broken entities, and suggests fixes.
01:23
Speaker A
Configuration is done right here in the sidebar. Everything installs easily via GitHub with a single button click.
01:30
Speaker A
After that, the Celora AI tab appears in the left panel. In the settings, we can choose Celora AI Cloud as the LLM provider. That’s an external model.
01:43
Speaker A
It’s a paid service. It’s offered directly on the Celora website. Well, it costs money. We won’t be using the paid version. Besides, I probably couldn't pay for it anyway. Next is Celora AI Local, which is the local LLM
01:57
Speaker A
option. The server connects to the local Celora model they provide. You can download it right from here. So, how do you download it? You download the model itself. It’s based on 17 billion parameters. And there are smaller sub-models for handling
02:20
Speaker A
automations, commands, and so on. You need to download all of these and launch them with a single command. I specified my local server and port here. It’s running right here for me. It starts up using this long command.
02:38
Speaker A
Everything launches at once with the Celora sub-models. I’ve listed them all right here. There are five of them in total. There’s an option to connect via Ollama, but it didn't work for me due to a 30-second timeout, and
02:58
Speaker A
since there’s no way to increase it, I put Ollama aside. It just didn't work out. Anyway, I installed LM Studio and used it to test the whole thing. Also in the settings, there's the Celora memory, where we can write a prompt for
03:16
Speaker A
it to execute constantly. There is also an MCP server. We create this server right here. And we can connect to it externally via MCP, for example with your Open Clown agent GM, and it will control the smart home. There is also
03:34
Speaker A
an "ignore entities" tab for various exceptions that it won't touch. And there are also advanced settings here.
03:43
Speaker A
Here you specify the scanning period, meaning it is implied that it will constantly scan the smart home, analyze it, and provide some advice and the like. So, I'm setting it to local; I only have a cloud-based PSIC, but it
04:00
Speaker A
can't be connected here, so I'm setting it to local right away. I'm opening my AI server, on which the LLM MCP is actually installed. And it is installed with this model, which is based on Qwen. And it's recommended by Celora AI
04:20
Speaker A
itself. So, it is running right now. There are some logs here. And you will see right now that when I ask a question, there will be an immediate call to the utility. Just watch. Hi, how are you? I'm typing it. The lines
04:35
Speaker A
appeared immediately, meaning there was a request, and it's writing some hieroglyphs there. The thing is, it seems to understand Russian, but it can't always answer in Russian. Well, that's because the model is very stripped down. You see, I write in
04:49
Speaker A
Russian: "Turn on the desk lamp." It writes back that there is no such entity as "desk lamp." "Please make some other request." But if I write, for example, now: "Turn on desk lamp." Oh, "desk lamp," that's desk lamp in
05:07
Speaker A
English, then yes, it turned it on immediately. There it appeared for me. And here, an icon appears that we can use to control it. That is, for example, to increase brightness, decrease it, or turn it on and off right from here.
05:19
Speaker A
For clarity, let me show it in the video one more time. So we write "turn on the desk lamp" here. Well, "desk lamp," to be precise. We press Enter.
05:29
Speaker A
That's it, it turned on instantly. And, well, how "instant" is it, really? How long was that? Well, a second probably passed, maybe even a little less. It really doesn't bother you, this delay, wouldn't you agree? And it works quite
05:42
Speaker A
well here. It is truly geared toward a smart home. But working with it, just turning a lamp on and off, isn't very interesting because it's very limited and can't do much. But we should probably keep an eye on the
05:56
Speaker A
announcements for this model. It's possible that we'll get something more over time. And when I talk about limitations, the situation is as follows. For example, I write: "What is the temperature outside?" It writes me some nonsense, yes, again. But I have
06:14
Speaker A
this outdoor sensor right here. It is called like this. That is, it is a sensor, dot climate, underscore A, and so on. I'm writing what the sensor value is, right? And I hit Enter. I press it, it hesitates and writes an
06:31
Speaker A
error again. And what kind of error? That this climate point. GET temperature, it can't do anything. It tries to check it as a climate device.
06:41
Speaker A
But it's not climate, it's a sensor, it just has the word climate in it. And so it's already stalled, and it can't do anything. But if I take another sensor, I write, what is the value of the sensor. There is no climate word here,
06:55
Speaker A
and yes, it showed that such and such is the temperature. And it pushed the entity here. We can open it like this and take a look. So it can sort of do it, but, you see, with caveats; it
07:08
Speaker A
needs to be told everything very clearly, a lot of editing first, so it can start showing something. And if I take a sensor now that shows total household power consumption, I enter it here. It just flat out says it can't
07:26
Speaker A
get data from it. Moreover, there is a moment where you need to give access to objects in the voice assistant settings. And it seems the object I just added isn't there. That is, this total household consumption. Let me add it
07:44
Speaker A
here now. Let's try to get data from it again. But no, we can't get data from it. It writes an error and doesn't want to return anything from it. Well, let's look at some other limitations of this model. Here is the automation tab. We
08:02
Speaker A
added a separate LoRA model specifically for automations. In theory, it should be tuned to create these automations. And there is a direct "new automation" chat, right, we create it.
08:15
Speaker A
And I write: "Make it detect the motion sensor there now." Let's take a motion sensor. I have this one called motion sensor in the hallway. Well, let's simplify the task for it. Let's take this motion sensor as a sensor, well, a
08:30
Speaker A
binary sensor. Let's plug it in here so, well, that it understands for sure what it needs and what to do with it.
08:37
Speaker A
We know for a fact that this binary sensor definitely exists. And to turn on the light—that is the hallway lamp. For me, it’s a light switch. Let me try to find it here right now. What is our entity called? I just need to
08:52
Speaker A
remember where I have it. Oh, here it is, I added it right here. Okay, let’s take it, there it is, copy it, and paste it right here. And I’ll specify one more condition. Actually no, maybe I won’t specify anything.
09:10
Speaker A
Although no, let’s still specify that it should turn off 10 seconds after being turned on. And let’s name this automation something like "Test Celora." Press Enter. And it just found the object and didn’t do anything.
09:28
Speaker A
That’s because we wrote all of that in Russian. If I take all of this now, copy it, and paste it into a translator, say, translate it all into English.
09:43
Speaker A
And let’s insert this text in English one more time. And it’s already starting to create the automation.
09:50
Speaker A
Meaning it already understood that it’s specifically an automation that’s required. It creates it in the foll
10:05
Speaker A
Well, I don’t need that. I had a motion sensor, but here it cut it out entirely, removed it, and did what it wanted. Moreover, it even wrote a description about 10 seconds, but it's not at all what I needed. So, the model
10:27
Speaker A
is, well, stupid, clearly stupid. You can’t just play around with it like that. That’s probably why they offer their own cloud model, because with this model, it’s really subpar. And here it is, it will turn the hallway light on for 10 seconds and turn it off
10:43
Speaker A
at 7:00 AM. Well, that doesn’t work for me. Well, let me change the conditions a little bit now. I’ll write it much simpler. Maybe it doesn’t know what a motion sensor is, right? I will simply describe that when
10:58
Speaker A
such-and-such sensor triggers, do this —turn on the switch, I won’t even call it the hallway light. To avoid overloading my condition, so to speak.
11:09
Speaker A
Maybe it will perceive all this more simply now. So, let’s press it. Uh-huh. It’s starting to think about the automation too, but it does it quickly. I’m not fast-forwarding right now—it’s creating it before your very eyes, and it also created it
11:25
Speaker A
for 7:00 AM, but only to turn the light on once. So it didn’t even specify to turn it on and off twice. Well, in general, it’s not that great. So we won’t be able to create a good automation here either. But the
11:38
Speaker A
interface itself is really convenient. So, you can launch this automation from here. I mean, enable it, then go into the automation editor, uh, and fix or change something here, or add something . That’s all possible right here.
11:52
Speaker A
It’s like that. Well, for convenience , it’s cool, but the AI is a bit weak , of course. And the other interesting thing was the Health tab. This is for Home Assistant health. What can it do here? Yes, well, it naturally lists
12:05
Speaker A
everything here, or rather, your phantom entities that you might have created. You see, it highlights that these are unavailable, and that maybe you should do something with them, like delete them or something else. And I can click the AI button to reach out,
12:23
Speaker A
and it immediately sends a request to it. But it doesn't give me any useful answer, and in principle, it doesn't really do anything about it. It highlights things, thanks for that. But you’ll still have to manually delete sensors, clean up, and so on, if you
12:40
Speaker A
need to. Home Assistant itself. So, realizing the model is a bit weak, I wanted to run my own more powerful models to see how they would work. I do have Ollama, after all. In theory, we can work with Ollama, right, and point
12:56
Speaker A
the MCP server to Ollama. In newer versions, Ollama knows how to work with MCP; it didn't before, so I fed it this link, and it connected to this MCP. And here’s what came of that. So I went into the chat. Ollama, and started
13:11
Speaker A
asking: "I've just connected an MCP server to you. What exactly can you do? " And it describes that I have an MCP server connected to Assistant via Ollama, and it can control devices, turning air conditioners, lights, and so on, on and off. It can monitor
13:30
Speaker A
things, checking devices for errors, availability, and other things, or perform automations. There are smart features, like analyzing your entire smart home and what you're doing. Then it can give recommendations on what automations I should create, and so on.
13:48
Speaker A
So, everything described in Ollama itself, it wrote all that down for me. I then asked it, or requested: "Turn on the desk lamp." And I said it in Russian. And you see, two minutes later , it actually turned on that desk lamp.
14:03
Speaker A
I'm not showing it on video, but it really did turn it on just by me speaking in Russian. It found the device and turned it on. I asked him next: "Did you do this using MCP, or was I still feeding it API when I was
14:16
Speaker A
filming the video earlier?" And he said that he did indeed do it via MCP. Why via MCP? Because it’s more convenient for Salora AI to do it that way, and it's somehow isolated, so you can't really mess things up much. And he
14:30
Speaker A
detailed why he chose exactly this method, saying it's supposedly more correct, secure, and reliable. Okay, I liked that. Alright. And he spent about 5 minutes answering me on that. Then I asked him, "Make me an automation." And look at how I described it, right?
14:50
Speaker A
Where a motion sensor in the hallway detects movement, it turns on the light in the hallway for 10 seconds, then turns it off. Name the automation "MCP Test." And he successfully created this automation. I didn't have to find any
15:05
Speaker A
sensors myself. Yes, I just indicated the aliases that I remember having, and he actually did it. And the automation was created turned off. He asked if I wanted to turn it on or not, but I went and turned it on manually. In general,
15:21
Speaker A
it was interesting. I went into the automations myself and found it. There it is. MCP Test. And you see, they are also marked in yellow, showing that it was done through Cora AI. There. And this MCP test. Here it is. And indeed,
15:37
Speaker A
the automation is correct. This was it. Motion detection and then the action. Turn on the hallway light, wait 10 seconds, turn it off. And the automation should actually work. So I went to check it. That is, we walk in
15:52
Speaker A
here, the motion sensor catches me, the light turned on. We count 10 seconds, and it should turn off. And there it turned off. The automation worked. And you can see that, uh, this automation just triggered 55 seconds ago.
16:13
Speaker A
Everything actually works. Everything is excellent in that regard. So, well, in principle, I am finishing my tests of Cora AI. What can I say in conclusion? Well, you know, I have mixed feelings. Firstly, models that I could connect to Home Assistant and
16:34
Speaker A
have them work perfectly, quickly, and pull and toggle all the entities like this. Well, there aren't any; I haven't met any like that. If you know any, please write about it in the comments.
16:47
Speaker A
And Salora AI, they did write about this, that they specially tuned their model, and so on and so forth. And it really is tuned. You saw how quickly she starts things up, turns on the desk lamp, or does something else. So, how
17:01
Speaker A
limited is it? I mean, you start giving it tasks and it just doesn't understand , and so on. How many errors did it throw? A whole lot. And that's why, with this model, I don't know—maybe if you spoke to it in English, it might
17:18
Speaker A
work for certain specific things. Or, for example, if it ran for a day or two or three, maybe it would start analyzing things, but I don't know, it all seems like nonsense to me. But here's the second point: using Open
17:34
Speaker A
WebUI, if you have a large local model, like I do—the Qwen 72B, for instance —that's what it was running on— you'll have to wait a couple of minutes for the automation to be created or whatever. But it does it, it creates it
17:49
Speaker A
, and it does it correctly. And here, you just write a prompt and go about your business. It creates it for you.
17:56
Speaker A
There. And since Sora isolates all of this, it will be created securely. So, I think this option is a viable one.
18:06
Speaker A
But write in the comments what you think about this. Maybe you have some experience, how you use it, or if you don't. Please, throw in your ideas. I'm going to implement them. For now, it's working locally for me. Basically, via
18:19
Speaker A
a workaround. So, there you go. Those are, let's say, my impressions of it. Thank you all for your attention. Bye everyone. And see you next time. Catch you later.
Topics:Home AssistantSelora AIlocal AIsmart home automationLLM integrationautomation creationMCP serverAI smart home assistantHome Assistant AIlocal language model

Get More with the SozAI App

Transcribe recordings, audio files, and YouTube videos — with AI summaries and speaker detection. 30 minutes free.

Or transcribe another YouTube video here →