Homelable v2.0.1
Add new Zigbee nodes into new/edit node modal
Homelable v2.0.0
Hello Homelablers !! This week marks a major release, and a new milestone in the ongoing Homelable project.
Highlights
Zigbee2MQTT integration
Thanks to @pranjal-joshi who initiate the jobs, we can now import and model Zigbee network.
- Import full Zigbee network map directly from Z2M as a background scan run.
- Three new node types: Zigbee Coordinator, Zigbee Router, Zigbee End Device.
- MQTT TLS support with optional cert verify skip.
- Imported devices flow through the pending section with edge persistence and auto-selection of imported nodes.
- Import in canvas or in pending section
New pending devices modal
And to celebrate, a brand-new modal for device management
- Full-screen grid layout with cards, filters (IP / Zigbee / all), and bulk restore.
- Multiple filters and search
- Multiple select
Text node type (#138)
- New
textnode type for free-form annotations on the canvas.
Alignment guides + snap (#139)
This is the first iteration for alignment grid. It's not all perfect yet but I hope it will help for creating more perfect diagram !
- Live alignment guides while dragging nodes.
- Top-level nodes snap on drag stop; grouped children stay put.
- Built on
OnNodeDragfrom@xyflow/react.
Services toggle on nodes (#107) - Thanks to @findthelorax
- Per-node toggle to show or hide the services list directly on the node.
- Polished services styling in both node body and detail panel.
- External link icon only shows when a service has a URL.
Custom style editor — Zigbee
- Zigbee Coordinator / Router / End Device exposed in the Custom Style modal — same color, opacity, and size controls as every other node type.
Fixes
- Status checker: ms timeout for ping on macOS.
- Scan: default
check_method='ping'for approved devices. - Detail panel: handle non-Z timezone offsets in Last Seen.
- Groups: preserve children + size on edit; fix status WebSocket proxy.
- Pending: drop dangling
onNodeApprovedcall; null-safe pending IP in SearchModal. - Text node: persist text in
labelacross reloads. - CI: ruff clean; all tests passing; mypy errors resolved in
zigbee_service.
Security / Dependencies
- Bump
fast-uri(GHSA-q3j6-qgpj-74h6, GHSA-v39h-62p7-jpjc). - Bump
axiosto ^1.15.2 (audit fix). - Bump
python-multipart. - Sanitize MQTT error messages to prevent credential leakage.
Full PR list (since v1.13.0)
- #139 — feat(canvas): alignment guides + snap while dragging
- #138 — feat: add Text node type to canvas
- #128 — feat: add Zigbee2MQTT network map importer
- #107 — feature: services node toggle
Full commit list
See git log v1.13.0..v2.0.0 for the full 40+ commit history.