vaha_
DE Deutsch
← Index No. 21 / 21

Akte · Smart home · own app

vHome

Home automation and voice

Home automation that never leaves the local network: the dashboard merges Home Assistant, a weather forecast and torrents into a single JSON, an old iPad shows it as a wall screen, and native apps draw a 3D floor plan of the flat with the robot at its real position. The voice assistant belongs to the same project: speech recognition and synthesis run on the home server, so a question and answer takes about 3.3 seconds, with no third-party cloud.

Bereich
Smart home · own app
Jahre
2026 → present
Status
live
System
iPad · Web · Server
Nr.
21 / 21
vHome — Home automation and voice
Illustration · No. 21 Illustration: a floor plan with control points, not a real flat.

Was es tut

01 / 11
  1. One flat JSON for everything: Home Assistant, Open-Meteo and qBittorrent behind /api/state
  2. An ES5 client for an iPad 2 on iOS 9: no fetch, no grid, no const or arrow functions
  3. Sections are built once and only patched, so SVG animations never restart
  4. The theme follows real sunrise and sunset, with night dimming and a manual override until the next change
  5. A version in /api/state: the client reloads itself when the web changes, the iPad keeps the page open for days
  6. A local PIR path: DHCP/ARP packets from the sensor, motion on screen 0.25 to 0.7 s before the cloud
  7. vHomeN: a native iPad app with no WebView, clock, sensors, sockets, music and voice
  8. vHome3D: the 3D floor plan as the screen, the robot sliding on its real position from Home Assistant
  9. A floor-plan generator: eight image variants, the vacuum map calibrated onto the drawing
  10. Furniture aligned with the gaps in the robot's path, where it never goes is where the furniture is
  11. The voice assistant: whisper and Piper in a warm worker, lazy audio, three engines with fallback

Schichten

02 / 04

Dashboard — Python stdlib

PythonHome AssistantOpen-MeteoqBittorrentCaddy
  • An aggregator with no dependencies, one process and one JSON
  • Endpoints /api/state, /api/control and /map.png
  • Reachable as kuca.lan through an AdGuard DNS rewrite and a Caddy proxy
  • Web file version in the response, so the client refreshes itself

iPad apps

Swift / Objective-Carmv7Core Animation
  • Two native apps, no WebView, for an iPad 2 on iOS 9.3.5
  • Cards are created once and topped up, animation goes through Core Animation
  • vHomeN: flip clock, weather, sensors, purifier, vacuum, sockets, music
  • vHome3D: tapping the purifier turns it on, the monitor lights when the switch is on

3D floor plan

PythonThree.jsWebGLPillow
  • The flat's drawing as input: walls, floor and rooms extracted from the image
  • The vacuum map calibrated onto the plan, robot position mapped linearly
  • A Three.js scene with furniture, lighting and an orthographic camera
  • Eight variants rendered ahead of time: theme, computer shown, filter
  • A JSON projection from plan to image, and a robot sprite on transparency

Voice assistant

faster-whisperPiperedge-ttsffmpeg
  • A long-lived worker on a unix socket keeps model and voice in memory
  • Serbian recognition on the GPU, int8 because Pascal has no fast fp16
  • The reply arrives as text at once, audio is rendered on first request
  • Three voice engines with fallback, Piper works with no network
  • The iPad on iOS 9 records through a plain file input, nothing installed

Technologien

03 / 03
Sprachen PythonJavaScriptSwiftObjective-C 04
Frameworks & Werkzeuge Home AssistantThree.jsfaster-whisperPiperCore Animationffmpeg 06
Infrastruktur dashboard.laniPad 2 · iOS 9AdGuard DNSCaddy 04

Alle Systeme im Verzeichnis

Zurück zum Index →