-
-
Notifications
You must be signed in to change notification settings - Fork 194
Description
Is your feature request related to a problem? Please describe.
Currently, configuring heating schedules for TRVs in Zigbee2MQTT often requires manually editing complex strings (e.g., 00:00/16 06:00/21 22:00/16) or using basic list inputs that lack validation and visual context.
This creates several friction points:
- High Cognitive Load: It is difficult to visualize the day's flow from a text string, especially on mobile devices
- Repetitive Tasks: Setting the same schedule for Monday through Friday requires repeating the data entry 5 times.
- Validation Errors: It is easy to accidentally skip the required 00:00 start time or enter times out of order.
- Lack of Presets: There is no easy way to save a "Workday" or "Holiday" profile and apply it quickly to multiple days.
Describe the solution you'd like
- Multi-Day Batch Editing: A "Smart Day Bar" allowing users to select multiple days (e.g., Mon-Fri) and edit them simultaneously.
- Visual Modes: Clear distinction between "Active Heating" (🔥) and "Frost Protection/Off" (❄️) states.
- Presets: A built-in library (Workday, Weekend) plus the ability to save custom user presets to LocalStorage.
- Drag & Drop: Reordering transitions easily.
- Smart Validation: Auto-correcting imports, ensuring 00:00 exists, and sorting times chronologically.
Describe alternatives you've considered
- Home Assistant Automations: While possible, many users prefer binding schedules directly to the device via Z2M for reliability if the coordinator goes down.
- Raw String Editing: This is the current status quo, which is error-prone.
Additional context
I have crafted a fully functional Vanilla JS/HTML/CSS prototype to demonstrate the UX.
Note: I've been in the role of an product manager with knowledge in UX/UI design and guided an LMM (Gemini) through the process. Code is written by the LMM.
Key features of the prototype:
- Top Bar: Multi-select chips to edit multiple days at once.
- Combo-Box Presets: Dropdown to load presets + input to save new ones.
- Input fields for timings and temperature with quick toogles between heat/frost
- JSON/String Toggle: View the raw Z2M string or a structured JSON object
Play around here:
🔗 https://jsfiddle.net/au17t8gh/21/
I believe this would significantly improve the general usability of TRVs within the Z2M standalone frontend. I am happy to discuss the logic used in the prototype 🙂