个人 GitHub 账号下公开仓库的所有者可以登录并验证所有权,自行管理介绍,无需管理员批准。
登录并生成验证文件,在 30 分钟内将其提交到此仓库的默认分支。其他分支或分叉仓库中的文件无效。然后在下方检查文件,即可无需管理员批准直接管理项目。请保留文件以维持管理权限。
如需登录,将前往登录页面。登录后请回到此处,再次点击所选的验证按钮。
在项目文件夹中运行 /nomorevibe verify,即可验证所有权并自行管理介绍。
一分钟完成验证制作者的介绍仅有上面的一句话。 更多详情请阅读仓库 README。 仓库 README ↗
正在加载完整 README。
查看完整 README ↗A safety-first home-automation project that turns a Shelly Plug S Gen3 into a timed coffee-maker controller. Every on-state is a countdown timer — the plug can never be left on indefinitely. The device runs autonomously with an mJS state machine and a connectivity watchdog, takes commands over a local MQTT broker (mTLS) with a cloud bridge for off-LAN access, and is also controllable directly over Wi-Fi (local HTTP). Clients: an Android app, a web page, or curl.
Live web control: https://laffs2k5.github.io/shelly-coffee-timer/
Documentation: Specification · Architecture · AI Test Guide · Regression Checklist
This is v2 — local MQTT broker + cloud bridge + connectivity watchdog, validated on hardware. The v1 release used Adafruit IO; that design is archived in docs/archive/ (frozen at the
adafruit-finaltag). v2 design: specs 11–12 and Architecture.
shelly-coffee-timer/
├── app/ Android app (Kotlin/Compose) with notification service
├── device/ mJS script for the Shelly (coffee.js)
├── web/ HTML control page (GitHub Pages)
├── scripts/ Bash utilities (feed setup, REST/MQTT testing)
├── docs/spec/ Specification documents (00–03, 05–12 + INDEX; 04 archived)
├── docs/ Architecture overview, test guides
├── docs/archive/ v1 (Adafruit) docs + v2 build/validation record
├── .github/workflows/ CI/CD: APK build, release, GitHub Pages deploy
├── .env.example Template for credentials
└── CLAUDE.md AI assistant context
cp .env.example .env and fill in your broker hosts, credentials, and Shelly IP; source .envMqtt.SetConfig via RPC — see doc 11 §5)scripts/build-device.sh produces device/coffee.min.js; flash it via RPC (Script.PutCode) or paste into the Shelly web UIscripts/app/ in Android Studio.p12 and your broker's private-CA public cert (.crt/.pem) — both via the Import buttons in Settings. (HTTP-direct and cloud work without these.)Nothing identity-specific is baked into the APK — the official released build is fully functional once you enter settings and import the CA +
.p12at runtime. No rebuild needed.
web/index.html locally in a browserAll secrets live in .env, which is gitignored. This repo is public — never commit real API keys. See doc 10 §7 for the full credentials policy.