Setting Up Home Assistant for Aquarium Automation
Install Home Assistant, add Tuya/Shelly/Lutron integrations, and create your first aquarium automation — from zero to smart tank.
Home Assistant is the brain behind every automation on this site. It's free, open-source, and runs locally — no cloud required. This guide walks you through installation, adding your first smart devices, and connecting everything for aquarium control.
Why Home Assistant?
- 100% local control — your automations work even when the internet goes down
- One app for everything — Tuya plugs, Shelly relays, Lutron remotes, and hundreds more
- Free and open-source — no subscriptions, no vendor lock-in
- Perfect for aquariums — sunrise/sunset triggers, temperature alerts, scheduled dosing
Step 1: Install Home Assistant
Home Assistant runs on almost anything. Pick your method:
| Method | Best For | Difficulty |
|---|---|---|
| Raspberry Pi 4/5 | Beginners, dedicated hardware | Easy |
| Proxmox LXC | Homelab users with existing server | Intermediate |
| Docker | Developers, existing Linux server | Intermediate |
| Virtual Machine | Windows/Mac users with spare resources | Easy |
Raspberry Pi (Recommended for Beginners)
- Download the Home Assistant OS image from home-assistant.io
- Flash it to a microSD card with Balena Etcher
- Insert the card, plug in Ethernet and power
- Wait 10 minutes, then navigate to
http://homeassistant.local:8123
Proxmox LXC (My Setup)
I run Home Assistant in a Proxmox LXC container. This gives you:
- Snapshots before upgrades (roll back if something breaks)
- Resource isolation from other services
- Hardware passthrough for Zigbee/Z-Wave sticks
Use the community helper script to create the LXC:
# Proxmox LXC settings I use
cores: 2
memory: 2048
swap: 512
disk: 16GB
network: bridge=vmbr0, static IP recommendedStep 2: Initial Configuration
On first launch, Home Assistant walks you through:
- Create your admin account — pick a strong password
- Set your location — this enables sunrise/sunset triggers (critical for lighting automations)
- Set your timezone — affects all time-based automations
- Name your home — cosmetic, but helps organize multi-location setups
Step 3: Add the Tuya Integration
Most aquarium smart plugs and controllers use the Tuya platform (Smart Life, Tuya Smart, etc.).
- Go to Settings → Devices & Services → Add Integration
- Search for Tuya
- Log in with your Tuya/Smart Life account credentials
- Authorize Home Assistant to access your devices
Your Tuya smart plugs, power strips, and Inkbird controllers will appear as entities.
# Example: Tuya smart plug entity in Home Assistant
# Entity ID: switch.tuya_aquarium_light
# Friendly name: Aquarium Light
# State: on/off
# Attributes: current_consumption (watts), voltageGoing Local with Tuya-Local (Optional, Advanced)
For cloud-free control, flash your Tuya devices with local firmware:
- Use tuya-local for over-the-air local control
- Or flash with ESPHome for full local control (requires disassembly)
Step 4: Add the Shelly Integration
Shelly devices work locally out of the box — no cloud account needed.
- Go to Settings → Devices & Services → Add Integration
- Search for Shelly
- Home Assistant auto-discovers Shelly devices on your network
- Click Configure for each discovered device
Shelly plugs give you real-time power monitoring — perfect for tracking heater and pump energy usage.
# Example: Shelly Plus Plug S entity
# Entity ID: switch.shelly_plug_heater
# Power sensor: sensor.shelly_plug_heater_power
# Energy sensor: sensor.shelly_plug_heater_energyStep 5: Add the Lutron Caseta Integration
Lutron Pico remotes are the best physical buttons for aquarium scene control.
- You need a Lutron Caseta Smart Bridge (not the basic bridge)
- Go to Settings → Devices & Services → Add Integration
- Search for Lutron Caseta
- Press the pairing button on the bridge when prompted
- Home Assistant discovers all paired Pico remotes
Each button press on a Pico remote fires an event in Home Assistant — you can map these to any automation.
# Pico remote button events
# Button 1 (top): button_0 → Day Mode
# Button 2: button_2 → Night Mode
# Button 3 (center): button_3 → Feeding Mode
# Button 4: button_4 → Movie Mode
# Button 5 (bottom): button_5 → Maintenance ModeStep 6: Create Your First Automation
Let's start simple — turn the aquarium light on at sunrise and off at sunset.
# automations.yaml
automation:
- alias: "Tank Light On — Sunrise"
description: "Turn on aquarium light 30 min after sunrise"
trigger:
- platform: sun
event: sunrise
offset: "00:30:00"
action:
- service: switch.turn_on
target:
entity_id: switch.tuya_aquarium_light
- alias: "Tank Light Off — Sunset"
description: "Turn off aquarium light at sunset"
trigger:
- platform: sun
event: sunset
action:
- service: switch.turn_off
target:
entity_id: switch.tuya_aquarium_lightPaste this into your automations.yaml, restart Home Assistant, and your light follows the sun.
Step 7: Set Up Your Dashboard
Add a basic aquarium card to your Lovelace dashboard:
type: entities
title: "Aquarium Control"
entities:
- entity: switch.tuya_aquarium_light
name: "Tank Light"
icon: "mdi:lightbulb"
- entity: switch.shelly_plug_heater
name: "Heater"
icon: "mdi:fire"
- entity: switch.tuya_air_pump
name: "Air Pump"
icon: "mdi:air-filter"
- entity: sensor.inkbird_temperature
name: "Water Temp"
icon: "mdi:thermometer"What's Next?
Now that Home Assistant is running, dive into the specific automation guides:
- Automate Tank Lighting — sunrise/sunset schedules + feeding mode
- Temperature Monitoring — Inkbird setup + alerts
- Automated Feeding — scheduled feeders + vacation mode
- Scene Control with Lutron Pico — one-button day/night/feeding modes
- Smart Power Management — energy monitoring + failure detection
- Automated Water Changes — AWC systems + PEX plumbing
- Build Your Dashboard — the complete Lovelace aquarium dashboard