Ontmoet Sparky: Mijn AI-gedreven Homelab Manager (n8n & Ollama)

📅 18 JAN 2026 • ⏱️ 10 MIN LEZEN

De Introductie

Als homelab-enthousiasteling ken je het probleem: je hebt prachtige dashboards voor alles. Proxmox voor je VM's, UniFi voor je netwerk, Home Assistant voor je huis, en Synology voor je data. Maar als er iets misgaat, of als je snel een status wilt weten, moet je langs vijf verschillende interfaces.

Ik wilde dat anders. Ik wilde een centraal brein. Een assistent die ik gewoon via Telegram kan appen: "Hoe staat de server ervoor?" of "Herstart de Zigbee stick".

Sparky AI Interface in Open WebUI

Sparky als AI agent vanuit Open WebUI

Maak kennis met Sparky: een volledig geautomatiseerde, AI-gestuurde beheerder die draait in n8n, gekoppeld aan een lokaal LLM via Ollama. In deze post duik ik diep in de architectuur en de werking.

🏗️ De Architectuur: Een Modulair Spinnenweb

De kracht van Sparky zit niet in één gigantisch script, maar in zijn modulaire opzet. Sparky is de centrale "AI Agent" die taken delegeert naar gespecialiseerde "Worker" workflows.

De core workflow, Sparky Homelab Management, fungeert als de orkestrator. Hij ontvangt input, verzamelt context, laat de AI nadenken, en roept vervolgens de juiste tools aan.

Sparky Flow Schema in blokvorm

Het schematische overzicht van de modules

De lagen van het systeem:

  • De Triggers (Oren): Telegram, Webhooks, en tijdsgebonden Cron-jobs.
  • De Monitor (Zintuigen): Verzamelt real-time data van alle subsystemen.
  • Het Brein (AI): Een n8n AI Agent node gekoppeld aan Ollama.
  • De Tools (Handen): Sub-workflows die acties uitvoeren (SSH, API calls).
  • De Veiligheid: Een "Human-in-the-Loop" mechanisme voor kritieke acties.

📡 Stap 1: Input & Monitoring (De Zintuigen)

Zodra Sparky wordt geactiveerd (bijvoorbeeld door een bericht op Telegram of een dagelijkse check), start hij met het opbouwen van context. Een AI is immers maar zo slim als de data die hij krijgt.

Via een parallelle Merge-structuur worden razendsnel de volgende systemen uitgelezen:

Infrastructuur

  • Proxmox & Backups: Status van nodes, VM's en de Proxmox Backup Server.
  • Netwerk: Een geoptimaliseerde Ping Scanner checkt connectiviteit en de UniFi Monitor rapporteert over wifi-cliënten en netwerkgezondheid.

Storage (NAS)

  • Synology (NAS-ELRO): Haalt CPU, RAM en Volume-status op via de DSM API.
  • OpenMediaVault (NAS-Backup): Monitort schijfgebruik en uptime via SSH.

IoT & Stroom

  • Zigbee & MQTT: Controleert of de coördinator online is en de MQTT-broker berichten verwerkt.
  • UPS: Checkt de batterijstatus en belasting ingeval van stroomuitval.

Al deze data wordt samengevoegd tot één groot JSON-object dat als "Kortetermijngeheugen" aan de AI wordt gevoerd.

🧠 Stap 2: Het AI Brein (Ollama & Tools)

Dit is waar de magie gebeurt. In plaats van hard-coded IF/THEN statements, gebruik ik een AI Agent Node in n8n. Ik gebruik een lokaal gehost model via Ollama (zoals Llama 3 of Mistral), zodat gevoelige data mijn netwerk nooit verlaat.

Sparky Workflow in n8n

De Sparky Homelab Management workflow in n8n

Dynamic Tools

De AI heeft toegang tot een gereedschapskist ("Tools"). Dit zijn definities die verwijzen naar andere n8n workflows. De AI beslist zelfstandig welk gereedschap hij nodig heeft op basis van mijn vraag.

  • Unified Proxmox Tool: Dit is een slimme router. Als de AI besluit dat er iets met Proxmox moet gebeuren, roept hij deze tool aan. Deze tool bepaalt vervolgens zelf of het een simpele status-check is (via API) of een harde actie zoals een reboot (via SSH).
  • Camera Snapshot: Vraag ik "Is er iemand bij de deur?", dan snapt de AI dat hij de Cameras Snapshot tool moet gebruiken om een beeld uit UniFi Protect te trekken.
  • Home Assistant Control: Voor het bedienen van lampen of scènes.

Buffer Memory

Sparky heeft geheugen. Als ik vraag: "Hoe is het met de NAS?", geeft hij antwoord. Als ik daarna vraag: "En hoeveel ruimte is er nog vrij?", begrijpt hij dat "er" verwijst naar de NAS waar we het net over hadden.

🛡️ Stap 3: Human-in-the-Loop (Veiligheid)

Een AI die zelfstandig commando's kan uitvoeren op je servers is doodeng. Wat als hij een hallucinatie heeft en besluit je firewall te wissen? Daarom heb ik een Approval Workflow ingebouwd voor kritieke acties (zoals herstarten, afsluiten of configuraties wijzigen).

  1. De AI stelt een actie voor.
  2. De workflow pauzeert en stuurt mij een bericht op Telegram:
    "Ik wil de Zigbee Container herstarten. Mag dat?" [ ✅ JA ] [ ❌ NEE ]
  3. Pas als ik fysiek op de knop druk in Telegram, gaat de workflow verder en wordt het commando daadwerkelijk uitgevoerd via de Send and Wait for Approval node.

📊 Stap 4: Output & Rapportage

Sparky communiceert op verschillende manieren terug:

  • Chat Respons: Direct antwoord in Telegram, netjes geformatteerd met emoji's en status-indicatoren.
  • BitjeBijBitje Rapport: Dagelijks genereert Sparky een uitgebreid HTML/Markdown statusrapport van het hele homelab. Dit wordt geconverteerd naar een bestand en automatisch geüpload naar mijn documentatiesysteem.

🚀 Use Case: Een praktijkvoorbeeld

Stel, mijn Zigbee-netwerk reageert traag.

Ik: "Hey Sparky, Zigbee doet raar. Kun je checken?"

Sparky: "Zigbee lijkt vastgelopen. Zal ik herstarten?"

Ik: [Klik op JA]

root@docker:~# systemctl restart zigbee2mqtt

Resultaat: "Service is herstart. Alles lijkt weer groen!"

Conclusie & Downloads

Met Sparky is mijn homelab beheer getransformeerd van "reactief brandjes blussen via 5 apps" naar "proactief chatten met mijn huis". Door de kracht van n8n te combineren met de intelligentie van lokale LLM's, heb ik een systeem dat niet alleen monitort, maar ook begrijpt en handelt.

Zelf bouwen?

Wil je dit zelf bouwen? De workflows zijn modulair, dus begin klein (bijv. alleen monitoring) en voeg later de AI-laag toe!

📥 Download de Templates:
Je vindt de n8n workflow templates op de configs pagina:
Ga naar Configs Pagina

📺 Bekijk de Demo:
Zie de workflow in actie op YouTube:
Bekijk video op YouTube

← TERUG NAAR OVERZICHT
NL | ENG