Multi-site IoT orchestration with live logging rules and workflow logic engines leveraging a local AI assisted ontology definition and user-centered orchestrations to see, think, and act on observatio
翻译准备中
生活方式Java · JavaScriptGitHub @ImpressiveLLC在线运营者未确认
试用过了吗? 点一下就好,无需登录。
尚未检测到更新。GitHub 发布版本后会显示在这里。
个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证Cabin Control Hub 软件实现多站点 IoT 编排,具实时日志规则和工作流逻辑引擎,利用本地 AI 辅助本体定义和以用户为中心的编排,帮助您观察、思考并对观察和直观问题采取行动。
AI 翻译
Multi-site IoT orchestration with live logging rules and workflow logic engines leveraging a local AI assisted ontology definition and user-centered orchestrations to see, think, and act on observations and intuitive questions
取自仓库 README
正在加载完整 README。 以下为已保存的摘录。
ImpressiveLLC / FaceoftheCabin · unicornpingpong.com (live — hub/cabin/api all public)
A self-hosted platform unifying home/property automation and family
coordination under a shared event bus, identity layer, and living
ontology — built for one family's real deployment (a Lenovo M920q at a
cabin, exposed via Cloudflare Tunnel, administered privately via
Tailscale) and designed from the start to be replicated independently
for another family, another property, or another team's use case. See
docs/REPLICATION.md for what that actually
takes.查看完整 README ↗ImpressiveLLC / FaceoftheCabin · unicornpingpong.com (live — hub/cabin/api all public)
A self-hosted platform unifying home/property automation and family
coordination under a shared event bus, identity layer, and living
ontology — built for one family's real deployment (a Lenovo M920q at a
cabin, exposed via Cloudflare Tunnel, administered privately via
Tailscale) and designed from the start to be replicated independently
for another family, another property, or another team's use case. See
docs/REPLICATION.md for what that actually
takes.
📖 Platform governance — decisions (D1–D21), backlog, Definition of Done, sign-offs and iteration plans live in
docs/governance/. Git is the canonical record. The Living Ontology is a read-only rendered view of it.
unicornpingpong.com)ROADMAP.md's Tech ID Service section; not yet built — see that doc for honest status.docs/REPLICATION.md)| Product | Subdomain | Description |
|---|---|---|
| Family Hub | hub.unicornpingpong.com | Ambient display: clock, parenting schedule, calendar, photos, chores, rewards, family notepad |
| FaceOfTheCabin | cabin.unicornpingpong.com | Cabin automation: cameras, sensors, alerting, presence detection |
| Platform API | api.unicornpingpong.com | Shared services: identity, ontology, event bus, audit trail |
Family Hub's Overview page shows a live camera-activity widget from FaceOfTheCabin — by default it shows which camera, what was detected, and when, refreshed every 20 seconds, visible to anyone looking at the screen, no sign-in required. This is genuinely useful (at a glance, is anyone at the cabin right now) but it is also, unavoidably, a presence/ absence indicator — the same information that tells you "someone's home" also tells anyone else looking that "no one's home right now."
This is configurable, not fixed. Settings → Cabin Camera Activity has three levels:
If this display sits somewhere more people can casually glance at than just your own family (a shared space, a device you don't fully control who sees), turn it down. The same warning is shown directly next to the widget itself, with a link straight to this setting.
Video viewing (built 2026-08-02, see ROADMAP.md Phase 6) is a
separate, more sensitive surface from the widget above. cabin-ui's
Camera Events panel — authenticated, Google sign-in required, not
part of this public Family Hub widget — now shows real snapshots and
event clips, plus a live per-camera view. This is a meaningfully bigger
exposure than the metadata-only widget above: an image or video frame is
categorically more sensitive than "motion detected at 3:14pm." Concretely:
None of this is reachable from the public, no-sign-in Family Hub widget
described earlier in this note — it lives entirely behind cabin-ui's own
Google sign-in (cabin.unicornpingpong.com), gated server-side on every
request, not just hidden client-side. If you ever add another signed-in
user to cabin-ui, they get this same video access — there's no separate,
finer-grained permission tier for video vs. the rest of cabin-ui today.
| Repo | Org | Contents |
|---|---|---|
| FaceoftheCabin | ImpressiveLLC | cabin-ui (React), cabin-backend (Spring Boot), family-hub (static HTML), infra (Docker Compose) |
| CabinAutomations | ImpressiveLLC | Zigbee pairing, HA config, Node-RED flows |
GitHub accounts: nhsmrekar (primary dev) · smrekarfamilia-sudo (family org) · ImpressiveLLC (shared/platform) |
| Item | Value |
|---|---|
| Primary server | Lenovo M920q · Ubuntu · Docker Compose at /home/nate/FaceoftheCabin/cabin-orchestration-platform/infra/ (/storage/containers/compose/cabin/ is a stale path from an earlier setup — confirmed unused, only a leftover .env and old CabinAutomations copy remain there) |
| Tailscale IP | 100.77.44.113 |
| Public access | Cloudflare Tunnel → unicornpingpong.com — live, all three subdomains |
| Private mesh | Tailscale — cabin ↔ home, admin/SSH |
| Domains | unicornpingpong.com — platform (hub/cabin/api subdomains) · impressive.llc — org domain |
| Domain registrar | Porkbun |
| DNS | Cloudflare free tier |
| Monitoring | Uptime Kuma + Homepage on M920q |
| Google OAuth owner | [email protected] |
| Calendar / Photos | [email protected] |
| Zigbee coordinator (Cabin) | /dev/ttyACM0 · adapter: ember · 14 devices paired |
| Home collector (POC) | SMLIGHT SLZB-MR5U + Termux on Android · PASS end-to-end 2026-09-11 (coordinator + real Zigbee network + MQTT reaching the M920q via Tailscale, independently verified both ends) — see docs/RUNLOG_2026-09-10_home-collector-mr5u-termux.md and docs/MAINTENANCE.md's "Home Location" section |
| Parenting schedule | Versioned rules — current: 50/50 split since July 27 2026 (see ROADMAP.md's Environment & Credentials Reference for the full detail; docs/ontology.yaml's parenting_schedule_rule_version is the source of truth) |
| Secrets | Ansible Vault (ansible/group_vars/*/vault.yml) — see ansible/README.md's Secrets section, not hand-edited .env |
| Document | Location | Audience | Contents |
|---|---|---|---|
| User Guide | docs/USER_GUIDE.md | Family members, guests | Day-to-day usage: identity, profiles, notepad, chores, camera privacy |
| Maintenance & Ops | docs/MAINTENANCE.md | Operators, developers | Deployment, secrets, known issues, incident response |
| Replication Guide | docs/REPLICATION.md | New-instance implementers | Standing up an independent instance from scratch |
| Platform Roadmap | ROADMAP.md | Technical, product, strategic | Strategic brief, architecture, ontology design, priority task list |
| Product Vision | docs/PRODUCT_VISION.md | Family, stakeholders | Value proposition, competitive positioning, honest maturity — implementation-agnostic on purpose |
| Product Notes | docs/PRODUCT_NOTES.md | Product, design | Dated design decisions, persona research, architecture reviews |
| Ontology Contract | docs/ontology.yaml | Technical |
# SSH in via Tailscale
ssh [email protected]
# Deploy / rebuild a single service
cd ~/FaceoftheCabin && git pull
docker compose \
-f cabin-orchestration-platform/infra/docker-compose.yml \
-f cabin-orchestration-platform/infra/docker-compose.m920q.yml \
up -d --build <service-name>
Services: family-hub · cabin-ui · cabin-backend · cabin-grafana · postgres · kafka
| Canonical entity definitions, device registry, naming contract |
| Platform README | cabin-orchestration-platform/README.md | Technical | Backend/UI architecture, Docker Compose reference |
| QA / Testing | docs/QA.md | Technical | Per-feature test coverage, automated + manual checklists |
| Definition of Done | docs/DEFINITION_OF_DONE.md | Internal (session process) | Per-session exit checklist (§1–10). Iteration and product DoD levels: docs/governance/definition-of-done.md |
| Replicating This Template | docs/REPLICATION.md | Standing up a fully independent instance — own accounts, domain, host, repo |
| Platform Governance | docs/governance/ | All | Canonical record: D-decisions, discrepancy log, use cases, WSJF backlog, Definition of Done, sign-offs, iteration plans |
| Living Ontology | Living Artifact | All | Read-only rendered view of docs/governance/decisions/ — not edited directly |
| AI Assistant Backlog | docs/ai-assistant/wsjf-backlog.md | All | Separate WSJF track (C1–C4) for the Ollama/llama3.2:3b corpus/RAG/Tiny-Helpdesk work — scored independently of the Living Ontology's own backlog above; see docs/ai-assistant/corpus/coverage.md for the gap register |
| Session Run Logs | docs/RUNLOG_*.md, docs/POC_*.md, docs/HANDOFF_*.md | Technical | Dated, literal, replayable session logs for specific bring-ups/investigations (e.g. the Home/Termux collector POC) — not summarized elsewhere; check by filename pattern, not a single index page |