← projects
~ / projects / high-tech-homestead

High Tech Homestead

in progress
Raspberry PiHome AssistantESPHomeUbiquitiTypeScriptAzure FunctionsCosmos DBSignalR

Bringing modern infrastructure practices home — literally. High Tech Homestead is an ongoing project to automate and monitor a working garden and small livestock operation using the same tools and thinking I apply professionally.

What It Is

A network of sensors, microcontrollers, and automation logic spread across the property, all feeding into a central Home Assistant instance and a cloud data pipeline. The goal is reliable, low-intervention monitoring: soil conditions, water systems, animal enclosures, and environmental data — surfaced through dashboards and real-time alerts.

Architecture

Home Assistant forwards sensor state changes directly to an Azure Functions HTTP endpoint. The ingest function validates and normalises the payload, writes raw telemetry to Cosmos DB, and broadcasts each reading to connected clients via SignalR. A separate timer function runs hourly, computing per-entity min/avg/max rollups and storing them alongside the raw records.

ESP32/ESPHome → Home Assistant → Azure Functions (ingest)
                                       ├── Cosmos DB (telemetry + rollups)
                                       └── SignalR (real-time broadcast)
                                 Azure Functions (hourly timer)
                                       └── Cosmos DB (rollup aggregates)

Stack

  • ESPHome — firmware for custom sensor nodes built on ESP32/ESP8266 hardware
  • Home Assistant — central automation hub; forwards state changes via REST command
  • Raspberry Pi — local compute for services that need more headroom
  • Ubiquiti — mesh network infrastructure across the property
  • Azure Functions (Flex Consumption) — serverless ingest, query, and timer compute
  • Cosmos DB — persistent storage for raw telemetry and hourly rollup statistics
  • SignalR — real-time push of live sensor readings to connected clients
  • TypeScript / Node.js — runtime for all cloud functions
  • Azure Managed Identity — keyless, role-based access between Azure services

Status

Cloud data pipeline is live in Azure. Home Assistant integration is documented and ready to wire up. Current focus: expanding sensor coverage across the property and building a live dashboard against the SignalR feed.