Skip to content

[Feature Request] Enhanced Visual Schedule Editor for TRVs (Thermostatic Radiator Valves) #2739

@rorar

Description

@rorar

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:

  1. High Cognitive Load: It is difficult to visualize the day's flow from a text string, especially on mobile devices
  2. Repetitive Tasks: Setting the same schedule for Monday through Friday requires repeating the data entry 5 times.
  3. Validation Errors: It is easy to accidentally skip the required 00:00 start time or enter times out of order.
  4. 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/

Image

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 🙂

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions