20 Commits

Author SHA1 Message Date
ThaMunsta 905b54803d maybe now
Build Images and Deploy / Update-PROD-Stack (push) Successful in 18s
2026-04-06 21:01:48 -04:00
ThaMunsta b724e805dd better fix for toggle?
Build Images and Deploy / Update-PROD-Stack (push) Successful in 19s
2026-04-06 20:58:43 -04:00
ThaMunsta 93dc2952ec testing fixes for toggles and sockets
Build Images and Deploy / Update-PROD-Stack (push) Successful in 20s
2026-04-06 20:55:29 -04:00
ThaMunsta cd0ca8cf7c web sockety things
Build Images and Deploy / Update-PROD-Stack (push) Successful in 19s
2026-03-30 23:21:23 -04:00
ThaMunsta 0a4ff9bf76 holy shit toggle button
Build Images and Deploy / Update-PROD-Stack (push) Successful in 19s
2026-03-30 23:15:35 -04:00
ThaMunsta 5180b3bce1 on off toggle fix
Build Images and Deploy / Update-PROD-Stack (push) Successful in 19s
2026-03-30 23:12:48 -04:00
ThaMunsta f7c952cec4 toggle button state on load
Build Images and Deploy / Update-PROD-Stack (push) Successful in 19s
2026-03-30 22:59:49 -04:00
ThaMunsta 0bb3398097 toggle button fixes
Build Images and Deploy / Update-PROD-Stack (push) Successful in 19s
2026-03-30 22:44:34 -04:00
ThaMunsta 7ea32cee8c bugfix for rule fetch, feat: device info and trying to fix dimmer
Build Images and Deploy / Update-PROD-Stack (push) Successful in 18s
2026-03-30 22:38:52 -04:00
ThaMunsta da2693ae68 dimming and fix for manual add
Build Images and Deploy / Update-PROD-Stack (push) Successful in 19s
2026-03-30 22:16:17 -04:00
ThaMunsta 70c98af759 manual add button
Build Images and Deploy / Update-PROD-Stack (push) Successful in 18s
2026-03-30 22:10:30 -04:00
SRS IT 3480c75f4c feat: add macOS build, Docker image, and CI workflows
macOS (.dmg):
- Add mac build config to apps/desktop/package.json (x64 + arm64 DMGs)
- .github/workflows/build-mac.yml — builds on macos-latest, uploads to release

Docker (headless scheduler + web remote):
- docker/server.js — Node.js entry point using homebridge-plugin lib;
  REST API + WebSocket, serves mobile web UI on PORT (default 3456)
- docker/package.json — production deps (adm-zip, axios, sql.js, ws, xml2js, xmlbuilder2)
- Dockerfile — node:20-alpine image; VOLUME /data for persistent config
- .github/workflows/build-docker.yml — builds linux/amd64+arm64,
  pushes to ghcr.io/k0rb3nd4ll4s/dibby-wemo-manager

Usage:
  docker run -d --network host -v /opt/wemo:/data \
    ghcr.io/k0rb3nd4ll4s/dibby-wemo-manager:latest

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 16:27:03 -04:00
SRS IT 05079ca545 fix: remove arch from linux targets — let CLI --x64/--arm64 flag control arch 2026-03-29 14:38:32 -04:00
SRS IT 129f22a785 fix: add homepage field required by electron-builder deb/rpm targets 2026-03-29 14:27:21 -04:00
SRS IT fb688bdfd3 fix: disable npm native module rebuild in electron-builder
All production deps (sql.js, ws, xml2js, etc.) are pure JS or WASM —
none need native rebuilding for the Electron runtime. Disabling npmRebuild
skips the @electron/rebuild step that was failing to find
app-builder-lib/out/util/rebuild/remote-rebuild.js in CI.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-29 12:41:12 -04:00
SRS IT 37f4a4ea25 fix: move node-windows to optionalDependencies to fix Linux CI build
app-builder runs npm install --production inside the app dir during
packaging. node-windows has a Windows-only postinstall script that
fails on Linux with ENOENT. Moving it to optionalDependencies makes
npm treat install failures as non-fatal on non-Windows platforms.

Also simplify build-linux.yml — removes unnecessary app-builder binary
verification steps that were masking the actual root cause.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 23:56:26 -04:00
SRS IT 7bd3a81bda feat: port countdown/away action features to Windows desktop app
- CountdownEditor: new Condition dropdown (ON->OFF / OFF->ON)
- AwayModeEditor: Window Start/End Action dropdowns
- RuleEditor: persist countdownAction field
- scheduler: countdown now state-change-driven with window check;
  away mode respects startAction/endAction; _stopAwayLoop uses endAction

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 23:19:16 -04:00
SRS IT b200c45385 Fix: resolve sunrise/sunset times in desktop scheduler
Sun-based rules (startTime -2=sunrise, -3=sunset) were silently skipped
with 'if (startSecs < 0) continue'. The sun.js calculator existed but
was never called.

- Import calcSunTimes from ./core/sun
- Compute today's sunrise/sunset once at start of _loadSchedule()
- resolveSecs() maps -2/-3 sentinels to actual seconds + offset
- Both Away Mode and Schedule sections now fire at correct sun times
- Rules with no location set continue to be skipped gracefully

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 20:15:18 -04:00
SRS IT 328a607e28 docs: update all READMEs for cross-platform support and add wemo-core docs
- Root README: add Linux x64 + ARM64 download targets, update release
  assets table, document background scheduler differences per OS,
  add wemo-core shared package description, use repo name dibby-wemo-manager
- apps/desktop README: full rewrite covering Windows installer/portable,
  Linux AppImage/.deb/.rpm (x64 + ARM64), all build commands per OS,
  data storage paths per OS, requirements table
- packages/wemo-core: new README documenting all exports, constants,
  helper functions, day number convention, sun sentinel codes
- about.html: fix version string from "2.0" to "2.0.0"

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 16:38:31 -04:00
SRS IT 27be1892ed Initial release — Dibby Wemo Manager v2.0.0
Desktop (Electron/Windows): device dashboard, DWM scheduling engine,
native firmware rules editor, Windows background service, web remote,
sunrise/sunset support.

Homebridge plugin (homebridge-dibby-wemo v1.0.0): HomeKit switches for
all local Wemo devices, custom UI with DWM rules, device rules,
scheduler heartbeat, and location-based sunrise/sunset scheduling.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-03-28 16:30:43 -04:00