Friday's Party: Creating a Private, Agentic AI using Voice Assistant tools

Looks good, and I will have to edit the configuration.yaml file to make sure I have everything I need in it.

Doc patches got in last night. Including a note in the readme and release notes specifically about setting up your mobile device notifications before you start - it’s in the prereq section.

And the final hold back feature I’ve been waiting to add. If you build a specifically formatted presence sensor, we’ll populate an occupancy map on top of rm based on its data. I put the functionality to read the sensor in 9, but the docs on how to build your sensor array is coming later because honestly, that part is custom as all get out. Let’s just say it involves mathematicians named Bayes and Markov and some integrations you all know and love like Bermuda and BPS… :smiling_face_with_sunglasses::smiling_face_with_horns:. (if you use a code agent it can build your baysean arrays for you with some coaching)

You have a topo map with obstruction data and signal collection. You have the ability to have stupid accurate bayesian maps… Put them together and you get a very reliable sensor… :smiling_face_with_sunglasses:

Hey Friday where are your people?

Anyone ever remember when Epcot did home of the future and they always said… Your house will know what room you’re in… Well your agent literally does now. And because Room manager can describe said room topology… Rm also publishes the result to library as a lens bus provider supporting person and area… So all the tools get enriched if you set it up… :smiling_face_with_sunglasses: It’s a hospitality release of COURSE I added the tracker. Currently it reads RM data but I’m not feeding back into rm to prevent racing. Works well… To the accuracy of your chosen tracker solution. More on that later.

I mean, if I keep dropping one suprise feature before releasing every month you guys are going to start expecting it.

Updated and restarting.

Heads to the bunker…

Also for the record. I KNOW that Spook 5.3 offers a new update feature. In it.

I am NOT including it in 2026.9.0, I looked at it and I know what I’m doing and… All that. But it’s also a fork riein the middle of a piece of code that’s in the middle of… 80% of critical boot path.

I already put it in my copy, I detect the existence of the right version of Spook and run a different now fully driven by Spook update branch. If I can’t definitely prove you’re running that version or better it uses the save delete update reapply I alrehad in existing version. And I’ll be happy to be rid of it..ill commit to support of old Spook behavior till 2026.12… After that, bets are off.

Ok and… Yeah about those orphaned labels click no and don’t tell me again if Spook starts bitching.. I’m trying to figure out the right way to silence that for any tool in a required labels list in a tool manifest.

Yeah, that change needs to be bulletproof, if not idiot-proof. Bugs not permitted.

Steel Magnolia is on Main.

Spent some time reconciling some conflicts, pushed up 8.1 and parked it on a feat branch, set it as main for a moment, created a release then immediately replaced it with 9. (This gives me a permanent anchor no matter what happens)

Aaaaand I’m also done now with all the minor reconciliation pushes after syncing 3 branches… :wink:

Yes 3, I’ve been fast forwarding everything I found this week on to 2026.10.0

Every tool will get a Steel Magnolia brushup AND:

So far:

Room Manager — activity/role_audit upgrade
- dojotools_room_manager.yaml — role_audit mode, courtesy activity-media-stop, cascade Bug A/B timer fixes
- dojotools_media_manager.yaml — activity orchestration (lock_room/light_context/media_id, activity_end), the channel-validation fix from today
- New architecture chapter (22_Room_Manager_v3_REFLEX.md) + operator's manual section

Smaller additions
- dojotools_ectoplasm.yaml — zen_agent_disabled label auto-tag/untag convention
- dojotools_calendar.yaml / dojotools_index.yaml / dojotools_summarizers.yaml — minor fixes riding along
- dojotools_zenzork.yaml — duplicate-dev line deletion)
- plant_manager.md — Leak Auto-Shutoff docs

10 will likely post within a week once I see 9 run for a while in the wild. If you see anything - open a bug: Issues · nathan-curtis/zenos-ai

Next up - we battle the MCP!

No silly not THAT MCP -

THIS MCP

ZenOS-AI 2026.10.0 TRON coming soon.
Come on Gen X-ers… Tell me you can hear the music?

Everytime I see MCP that image pops into my head and then I have to force myself to contextualize it to the other MCP :wink:

I know, right? When Anthropic picked it I was like ok you did that on purpose didn’t you? Also Tron 3 was ok if we can recast the titular hero… Now get Flynn back. :joy:

BTW T I’m pulling a bunch of KM support into next build now that I can block activities… Just thought you might be interested to see how Friday controls locks… Gimme a month.

Oh I’m interested. I just haven’t hooked any LLM into any of my HA systems (yet). I’m following this because I find it something I want to do in the future and I would rather have a good idea of the whole setup before I actually stick my fingers in it :smiley:

Looking at it I should be able to drive a ‘locks console’ modeled (mentally anyway) on the KM. Lock dashboard. Rn I’m trying to make sure tthe agent chases parent/child correctly. I THINK it’s currently working in 9… It can see and manipulate the locks but I’m reserving settings and control for v.next.

Not to cause you to go switching lock managers, but unless you’re needing Rental Control management as well, have you considered Lock Control Manager? The model there might work better for an LLM, especially the latest changes that I’ve seen that are driving more towards the persona has N unlock options vs KM that is very “slot” oriented given the origin of being a Zwave only system at first.

That’s next. They’re a scaffolding action from the perspective of running agents.

I have to think about it like teaching a 9yo.

First can we ID locks.
Now can we manipulate locks.
In context
Now do it safely
Handle the contra cases
Now security.
Now do it all again with lock codes.
Now do it all again setting temp codes and deleting them..
Now fold it all into one activity I line with guest stays…

Im at… The security step. You’ll probably see the rest in by 2026.11. 0

And the cool part. Is the way I’m doing it. It should detect what solution you’re using and just use it.

Sound good. Ultimately it shouldn’t matter what integration is used for a particular feature, since they should all have nominally similar ways to accomplish the tasks.

That’s kind of where I’m headed. Also a good point to be made here.

Notice I’m not calling it Grocy or Mealie or Zammad or Twenty… That’s very very much on PURPOSE.

If you’re trolling my code and see where a field or tool is app specific I prob do or should have a bug in on it to convert language.

Why?

Ok so I don’t know what’s going to work in say three days let alone three years from now. Maybe Grocy takes over the world, maybe some other player writes worlds best ERP… By abstrscting that seam and clearly breaking down the toolset into layers I can easily see what needs to be rebuilt if say I replace the rolodex with a better piece of software. I could literally redirect rolodex to another crm by changing the sutra provider it talks to…

It also let’s me do stupid crap like have two different systems with overlapping featuresets get mediating software layers that break the tie and say our house does It THIS way. (ever wonder why the hell kitchen tool exists? Wife likes mealie shopping… Likes grocy everything else. Etc.)

There’s a few active examples now that 9 is out. We have mealie grocy of course… Agent sees as. Inventory and recipes. But check out the conflict resolution taskmaster is doing.

But for locks and things like that (power systems, batteries etc) what I’m doing is, there’s a generic shape of a thing that a person or sme would recognize. So I start there. That’s why the theme - notice it’s easy to put yourself into a role. Use that role. What do I need to do. How do I present that to the agent.

Build that first. The lens (that’s where the lens bus name came from) it bounds what the agent sees. Then everything else is an adapter to squish and morph and whatever the available shape to fit the presentation lens. If a thing suddenly makes me rethink a lens the lens gets updates everything using that lens wins.

2026.9.0 brought a new lens: +appliance I think I also made +locks there were a few to facilitate power… So yeah add new stuff, smash it into the lens shape with codices (basically business rules) sutras (api connectors) and labels..

All the abstraction pays off ultimately in room manager now providing a nexus in the hypergraph to hang all kinds of wierd things on - now defined by an edge called (lens name) which always takes your agent to (lens) shaped data related to other stuff in the graph.

(that’s where the coherence and cross linking capabilities are coming from)

I can imagine how much overlap there is between Mealie and Grocy. But all Friday cares about is that she has the data she needs to make recommendations for meals; she doesn’t want to know how the watch is built. :grin:

Abstracting the interface between the agents and the tools they use/reference is great for the reasons you state; not only does it allow you to change your setup as you discover something better, it allows people that have other preferences to build their own tools to integrate their preferred platform for each one of the things ZenOS currently supports.

I’m pretty sure I’ve built enough pattern in there now that someone following it can byo. (thing)

Fair warning if you’re building, I’m already working on Authentik for OIDC, step-CA for a lightweight pki, a generic DAV provider for files now that FileCabinet can actually walk a tree. (you don’t actually need ‘obsidian’ to obsidian vault) Also a vector option. Vector is a ways off I have an idea there I need to think through before inflict it.

9.1 Patch is up on RC before I move it to main this weekend.

Someone …Zach was busy reporting bugs. You also get the egregious “who wrote this stuff?” fixes from my 10.0 stabilization work. :wink:

Seriously, report buggers - get buggers squashed. Zach, thanks man. Put 9 hashmarks on that armor my friend.

No showstoppers moves it to main on Saturday.
nathan-curtis/zenos-ai at feat/2026.9.1

Side note.

If you are following along in the home game…

This: How do I make my sensor know who is home, not just that someone is? - #3 by NathanCu

Is possible now with zenos 2026.9.0 or better. There’s a construct called High confidence presence resolver. Make one sensor that resolves to an enum - one of your rooms for each person and tag it. The. That enum will be the highest confidence sensor for your location.

Great Nathan, how do I build said sensor…

Like this. Exactly like this.

Because I now see what room you’re likely in and I have history stats over time we can make the math better for a room by adjusting it’s priors (likelihood of in here now. Based on recent actual history in the current time slice. Yes. Mild feedback to weight the sensor. )

I’ll do a write up on the bayes math that makes it work. If you’re running zenos I’ll help you resolve to a room location.

Can I link this thing to AI so it will be smarter than smarter?

If I understand the question Jan.

This ‘thing’ is the smarter.

AI by itself is an idiot without any context about your life. Zenos structures all the context your home has in a way that the ai can consume it