✓ Free Forever 🔓 No License Required

Home IoT Worker

AI-powered smart home automation running on Raspberry Pi. Natural language control for your entire home with complete privacy.

100% Free

The IoT Worker is completely free with no license requirements. Run it on any Raspberry Pi and integrate with your smart home today.

System Architecture
Voice / Text Input "Turn off all lights when everyone leaves" eldric-iotd (Raspberry Pi) Local LLM (Ollama) or Remote Cluster Home Assistant (REST API) Zigbee2MQTT (MQTT) Frigate (Camera NVR)

Supported Smart Home Platforms

Connect to your existing home automation systems seamlessly.

🏠

Home Assistant

Full integration with Home Assistant for device control, automation, and state monitoring.

  • Device state queries
  • Service calls
  • Automation triggers
  • Scene activation
📡

MQTT / Zigbee2MQTT

Direct MQTT communication with Zigbee devices through Zigbee2MQTT.

  • Device discovery
  • Real-time state updates
  • Direct device control
  • Group management
📹

Frigate NVR

AI-powered camera integration with object detection and event handling.

  • Person detection events
  • Vehicle detection
  • Zone monitoring
  • Snapshot retrieval
🔌

Generic MQTT

Connect any MQTT-enabled device for seamless integration.

  • Publish/Subscribe
  • JSON payloads
  • QoS levels
  • Retained messages

Use Cases

See what you can do with AI-powered home automation.

💡
Natural Language Home Control
Control your entire home with natural language commands
User: "Turn off all the lights downstairs except the kitchen"

eldric-iotd:
1. Queries Home Assistant for lights in "downstairs" area
2. Filters out kitchen lights
3. Calls home_assistant.turn_off for each light
4. Responds: "I've turned off 6 lights downstairs, keeping the kitchen light on."
Intelligent Automation Creation
Create complex automations using natural language
User: "When no motion is detected in the house for 30 minutes after 11pm,
       turn off all lights and lock all doors"

eldric-iotd:
1. Creates automation trigger: no motion sensors active for 30 min
2. Adds time condition: after 23:00
3. Adds actions: turn_off lights, lock doors
4. Registers automation with Home Assistant
🤖
Proactive Home Management
AI monitors your home and provides intelligent suggestions
eldric-iotd: "I noticed the garage door has been open for 2 hours and
             it's getting dark. Would you like me to close it?"

User: "Yes, and remind me if it happens again"

eldric-iotd:
1. Closes garage door via Home Assistant
2. Creates reminder automation for future occurrences
🛡️
Security Event Handling
Integrate with Frigate for intelligent security responses
[Frigate Event: Person detected in backyard at 2:30 AM]

eldric-iotd:
1. Receives event from Frigate via MQTT
2. Turns on backyard floodlights
3. Captures snapshot
4. Sends notification with image to user
5. Asks: "Unknown person detected in backyard. View camera feed?"
💰
Energy Optimization
AI-powered energy management and cost savings
User: "Help me reduce my electricity bill"

eldric-iotd:
1. Analyzes device usage patterns
2. Identifies energy-wasting behaviors
3. Suggests: "Your office AC runs 4 hours after you leave.
   Want me to create an automation to turn it off when you leave?"
4. Creates optimized schedules for high-consumption devices

Hardware Requirements

Component Minimum Recommended
Raspberry Pi Pi 4 (4GB) Pi 5 (8GB)
Storage 32GB SD Card 64GB+ SSD (USB)
Network WiFi Ethernet
LLM Backend Remote Ollama Local Ollama (Pi 5) or Cluster
💡
Note

For local LLM inference on Raspberry Pi, use smaller models like Phi-3, TinyLlama, or Gemma-2B. For larger models, connect to a remote Ollama server or Eldric cluster.

Quick Start

🚀

Install and configure in minutes

4 Steps
# 1. Download and install on Raspberry Pi
wget https://eldric.core.at/downloads/raspios/eldric-iotd-4.0.0-raspios-aarch64.tar.gz
tar xzf eldric-iotd-4.0.0-raspios-aarch64.tar.gz
sudo mv eldric-iotd /usr/local/bin/
sudo cp eldric-iotd.service /etc/systemd/system/

# 2. Configure connectors
cat > /etc/eldric/iot.conf << EOF
[mqtt]
broker = mqtt://localhost:1883
username = eldric
password = your_password

[homeassistant]
url = http://homeassistant.local:8123
token = YOUR_LONG_LIVED_TOKEN

[frigate]
url = http://frigate.local:5000
mqtt_topic = frigate/events

[inference]
# Use remote Ollama for better performance
backend = ollama
url = http://your-server:11434
model = llama3.2:3b
EOF

# 3. Start the daemon
sudo systemctl enable eldric-iotd
sudo systemctl start eldric-iotd

# 4. Test with a command
eldric-iot "List all lights in the living room"

Available Tools

Tool Description Example
mqtt_publish Publish to MQTT topic Control Zigbee devices directly
mqtt_subscribe Subscribe to MQTT topics Monitor device states
ha_get_state Get Home Assistant entity state Check if lights are on
ha_call_service Call Home Assistant service Turn on lights, lock doors
ha_list_entities List entities by domain/area Find all sensors in kitchen
frigate_snapshot Get camera snapshot View current camera image
frigate_events Get recent detection events List recent person detections
create_automation Create HA automation Schedule lights at sunset

Privacy & Security

🔒

Local Processing

All AI inference runs locally on your network. Voice commands and home data never leave your premises.

🔐

No Cloud Required

Works completely offline. No internet connection needed for home automation control.

🛡️

Your Data, Your Control

No telemetry, no data collection, no subscriptions. Full ownership of your smart home data.

Get Started

Free Download

The IoT Worker is completely free with no license required.

Raspberry Pi OS (64-bit)

For Raspberry Pi 4 and Pi 5

Download .tar.gz

Source Code

Build from source

Download Source

Ready to Automate Your Home?

Get started with AI-powered smart home automation today - completely free.