Wayfinder: home automation service
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 5/5
- Tempo stimato
- Più di una settimana
- Idoneità per principianti
- 35/100
- Tipo di issue
- Documentazione
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Attiva
- Stack tecnologico
- postgresql, typescript
- Ambito
- backend, full-stack
Direzione di ricerca
Read the home feature branch glossary at services/home/GLOSSARY.md, then review the linked issues 120–123 and the referenced skills, CODING_STANDARDS.md and docs/adr/. The issue describes a hand-off-ready specification but leaves several decisions open and says implementation tickets still need to be sliced. Done means those remaining topics are resolved and the spec is divided into implementation issues; no specific files for the main specification are named.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Destination
A hand-off-ready spec for a new service home (this monorepo: galvyn/rorm, PWA, passkeys) that runs the household on top of the existing Zigbee2MQTT: lights, heating, sensors, shared lists, recurring reminders, a kiosk dashboard and a local voice assistant, sliced into implementation issues. Building it is not part of this map.
Notes
- Service name
home(services/home,frontend/home); glossary atservices/home/GLOSSARY.mdon the feature branchhome. - Exactly one Household; all Members are equal, one admin issues Registration links (passkeys via
libs/galvyn-identity). - Phones reach it at home and on the road via Tailscale only.
- Zigbee2MQTT already runs and is the device boundary; the service never speaks Zigbee itself.
- Lights and heating must work without internet and without the Ryzen box. Devices and core stack run on the Raspberry Pi; the voice stack runs on the Ryzen 7 1700 + GTX 1080 (8 GB), fully local (no cloud LLM).
- Automations are fixed building blocks: heating schedule per Room, motion light per Room, timed Scene. No free rule engine.
- Scenes belong to one Room (light on/off, brightness, colour temperature, target temperature); any Member may create them. House-wide only a built-in "all off".
- One concept "List" for shopping and to-dos: any number, all shared, Items are just checked off. Due dates and recipients belong to Reminders.
- Reminder: recurrence rule + recipients + acknowledgement; unacknowledged it re-notifies.
- Sensors: live values plus history per sensor.
- Dashboard: a kiosk view of the same PWA on a wall tablet/TV, one style done properly (Jarvis HUD or LCARS), no theme switching.
- Voice is just another channel over the service API ("Computer, ..."), GLaDOS voice. Push-to-talk in app/dashboard first, room satellites later (ESPHome native API; Wyoming only links the pipeline to Whisper, Piper and openWakeWord).
- Consult the
grillinganddomain-modelingskills on grilling tickets; readCODING_STANDARDS.mdanddocs/adr/before deciding on anything that touches them.
Decisions so far
- Zigbee2MQTT integration surface for the home service: small stable JSON surface (retained bridge/devices with typed exposes, /set|get, availability); native groups/scenes cover only lights; bindings only for controller-type sensors; NATS MQTT can replace Mosquitto but forbids spaces in names and hides retained messages in a JetStream stream; else rumqttc
- Voice satellite hardware without Home Assistant: satellites (Voice PE, ReSpeaker Lite, S3-BOX-3, linux-voice-assistant) speak the ESPHome native API, not Wyoming; stock firmware works without HA if
homeimplements the voice part of that API (one client per device, wake word only while a client is connected, TTS fetched via HTTP URL); a prop needs a custom "look at" channel - Web Push from the PWA behind Tailscale: works; phones receive pushes without the tunnel, the Pi needs outbound internet (push services, cert renewal);
rp_id= the Tailscale host, fixed before the first passkey; iOS 16.4+ with Home Screen install; needs vite-plugin-pwainjectManifest; crateweb-push-native; TLS via traefik's Tailscale cert resolver renews itself - Local voice stack on a GTX 1080: Pascal only runs on a frozen stack (driver 580, CUDA 12.x, cuDNN <= 9.10 or CTranslate2 >= 4.6.3), so llama.cpp/Ollama, not vLLM; Whisper turbo int8 + ~4B tool-calling LLM fit in 8 GB (or Gemma 4 E4B with audio in as one model); Piper on CPU with an unlicensed German GLaDOS voice (home use only); openWakeWord is English-only, so push-to-talk first; est. 2-5 s to reply, unmeasured
Not yet specified
- Warnings (e.g. bathroom humidity > 70 %): probably built from Reminders or Automations once both are modelled.
- How the kiosk Dashboard device signs in (device login, not a Member account).
- Backups of the Postgres on the Pi.
- Interface sounds for the Dashboard: synthesising the film/series sounds by ear did not sound right in the dashboard prototype; likely the user's own sound files per event, or a freely licensed pack.
- Slicing the finished spec into implementation issues (the last step of this map).
Out of scope
- The physical, moving GLaDOS prop (mechanics, servos, 3D printing): its own effort later. Only the interface a prop would plug into is in scope.
- Non-Zigbee devices (Wi-Fi plugs, cameras), energy monitoring.
- Multiple Households, guest or restricted roles.
- A free-form rule engine, theme switching, Alexa / Google Assistant.
- Lingua principale
- TypeScript
- Stelle
- 0
- Fork
- 1
- Merge medio
- 10h 20m
- PR unite (30g)
- 36
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di myOmikron/code
-
needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
I maintainer di solito rispondono entro 1 giorno
-
wayfinder:task
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 90/100
I maintainer di solito rispondono entro 1 giorno
-
wayfinder:task
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
myOmikron/code#102 · 2 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
needs-triage
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
I maintainer di solito rispondono entro 1 giorno
-
mtg: tournament plannerApertaready-for-agent
Difficoltà 5/5 Più di una settimana Idoneità per principianti 18/100
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di myOmikron/code
Issue simili
-
level/task type/bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
wazuh/wazuh-dashboard-plugins#9508 ·
I maintainer di solito rispondono entro 1 giorno
-
Testnet EOL page links Zonescan mainnetForse già presa @napelvs l’ha presa oggi. Aperta
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 76/100
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 78/100
Azure-Samples/azure-search-openai-demo#3249 ·
I maintainer di solito rispondono entro 1 giorno
-
[Docs] docs/architecture.mermaid leaves out 21 of the 51 src/ directoriesForse già presa @uyg7x l’ha presa oggi. Aperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
enhancement status:needs-triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
dongdongbh/Mindwtr#1438 ·
I maintainer di solito rispondono entro 1 giorno