Skip to main content

Home Assistant Integration

FERAL integrates with Home Assistant as a native add-on, giving your AI brain direct access to every device, entity, automation, and sensor in your smart home.

Installation

Add-on Installation

  1. Open Home Assistant → SettingsAdd-onsAdd-on Store
  2. Click the three dots (top right) → Repositories
  3. Add the FERAL repository URL:
  4. Find “FERAL Brain” in the store and click Install
  5. Go to the add-on’s Configuration tab to set your LLM provider and API key
  6. Click Start

Manual Installation

If you prefer running FERAL alongside (not inside) Home Assistant:
Generate a long-lived access token from your HA profile page: ProfileSecurityLong-Lived Access TokensCreate Token.

Configuration

VariableDefaultDescription
FERAL_HA_URLhttp://homeassistant.local:8123Home Assistant instance URL
FERAL_HA_TOKEN(required)Long-lived access token
FERAL_HA_WEBHOOK_IDferal-brainWebhook ID for HA → FERAL events
FERAL_HA_AREAS(all)Comma-separated area filter (e.g. living_room,kitchen)
When running as an add-on, FERAL_HA_URL and FERAL_HA_TOKEN are auto-configured via the Supervisor API.

What Devices Become Accessible

Once connected, FERAL can see and control every entity exposed in Home Assistant:
CategoryExamples
LightsOn/off, brightness, color temperature, RGB
Switches & plugsSmart plugs, relays, power strips
ClimateThermostats, AC units, fans, humidifiers
SensorsTemperature, humidity, motion, door/window, energy
MediaSpeakers, TVs, media players
CoversBlinds, garage doors, curtains
LocksSmart locks, deadbolts
CamerasSnapshot and stream access
AutomationsTrigger, enable/disable existing automations

Usage Examples

Supervisor API

When running as an add-on, FERAL uses the Home Assistant Supervisor API for:
  • Auto-discovery — automatically finds the HA instance
  • Ingress — the FERAL dashboard is accessible through the HA sidebar
  • Add-on management — restart, update, and configure from the HA UI
  • Backup integration — FERAL’s memory and config are included in HA backups
The add-on communicates with HA over the internal Docker network using the Supervisor token, so no manual token configuration is needed.

Architecture

Event Streaming

FERAL subscribes to Home Assistant’s WebSocket event stream. When state changes occur (a door opens, temperature spikes, motion detected), FERAL receives them in real-time and can:
  • Log the event to memory
  • Trigger proactive alerts (“Your front door has been open for 10 minutes”)
  • Execute learned skills in response

Security

  • The long-lived access token is stored in FERAL’s encrypted vault (~/.feral/credentials.enc, ChaCha20-Poly1305 AEAD, mode 0600)
  • When running as an add-on, the Supervisor token is ephemeral and rotated automatically
  • FERAL never exposes your HA token to external services

Troubleshooting

Verify the URL is reachable: curl http://homeassistant.local:8123/api/. Ensure the long-lived token is valid and hasn’t expired.
FERAL only sees entities exposed in HA. Check that your devices are not hidden in Settings → Entities. Try filtering with FERAL_HA_AREAS.
Check the add-on logs in Settings → Add-ons → FERAL Brain → Log. Common issues: missing LLM config, port conflicts.