Skip to content

feat(Thermals): customizable sensor colors#1871

Merged
pedrolamas merged 6 commits into
fluidd-core:developfrom
pedrolamas:pedrolamas/thermal-colors
Jun 6, 2026
Merged

feat(Thermals): customizable sensor colors#1871
pedrolamas merged 6 commits into
fluidd-core:developfrom
pedrolamas:pedrolamas/thermal-colors

Conversation

@pedrolamas

@pedrolamas pedrolamas commented Jun 5, 2026

Copy link
Copy Markdown
Member

Adds per-sensor color overrides for the Thermals widget, resolving two long-standing issues.

Users can now click the color icon next to any sensor, heater, or fan in the Thermals list to pick a custom color. Colors persist across sessions via Moonraker's database and can be reset to the palette default at any time.

Also fixes a pre-existing bug where notMerge: true on the chart's update options would blank the chart for ~1 second whenever the theme or viewport changed.

Screengrab

Video.mp4

Resolves #534
Resolves #1866

pedrolamas and others added 2 commits June 5, 2026 12:28
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
@pedrolamas pedrolamas added this to the 1.37.2 milestone Jun 5, 2026
@pedrolamas pedrolamas requested a review from Copilot June 5, 2026 15:37
@pedrolamas pedrolamas added the FR - Enhancement New feature or request label Jun 5, 2026
@pedrolamas pedrolamas changed the title Pedrolamas/thermal colors feat(Thermals): customizable sensor colors Jun 5, 2026

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Adds per-sensor color overrides for Thermals, persisting them in UI settings and applying them consistently to the thermal chart and sensor lists (aiming to address #534 / #1866 color issues).

Changes:

  • Introduces uiSettings.dashboard.sensorColors with Vuex mutations/actions to persist overrides to Moonraker DB.
  • Updates Thermals UI (targets list + chart series) to read/apply per-sensor overrides via AppColorPicker.
  • Refactors ColorSet to be palette-driven via globals.ts and accept an optional override when resolving colors.

Reviewed changes

Copilot reviewed 12 out of 12 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
src/store/printer/getters.ts Threads sensorColors through heater/output/sensor getters when computing display colors.
src/store/config/types.ts Adds sensorColors to dashboard UI settings typing.
src/store/config/state.ts Initializes sensorColors default state.
src/store/config/mutations.ts Adds mutations to set/remove individual sensor color overrides.
src/store/config/actions.ts Adds actions to persist sensor color overrides to Moonraker DB.
src/plugins/colorSet.ts Refactors palette generation + adds override-aware color resolution.
src/main.ts Updates plugin install call for ColorSetPlugin.
src/locales/en.yaml Adds new i18n labels for “Sensor Color” and “Reset to default”.
src/globals.ts Defines default palettes and palette option types.
src/components/widgets/thermals/ThermalChart.vue Applies overrides when creating chart series colors.
src/components/widgets/thermals/TemperatureTargets.vue Replaces static icons with AppColorPicker controls + dispatches override updates.
src/components/ui/AppColorPicker.vue Adds configurable icon/sizing + resettable UI.

Comment thread src/plugins/colorSet.ts Outdated
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
@pedrolamas pedrolamas marked this pull request as ready for review June 5, 2026 21:03
@pedrolamas pedrolamas requested a review from Copilot June 5, 2026 21:03

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 12 out of 12 changed files in this pull request and generated 4 comments.

Comment thread src/store/config/actions.ts
Comment thread src/components/widgets/thermals/TemperatureTargets.vue
Comment thread src/components/widgets/thermals/TemperatureTargets.vue
Comment thread src/components/widgets/thermals/TemperatureTargets.vue
- add `dbKey` tagged template to split static key segments
  on `.` while keeping interpolated values intact, so keys
  like `temperature_sensor my.sensor` aren't misread as
  nested Moonraker DB paths
- `ColorSet.next()` now always returns `string` via a
  `FALLBACK_COLOR` constant (#2196F3) instead of `undefined`

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 15 out of 15 changed files in this pull request and generated 1 comment.

Comment thread src/plugins/colorSet.ts Outdated
pedrolamas and others added 2 commits June 6, 2026 17:20
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Signed-off-by: Pedro Lamas <pedrolamas@gmail.com>

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 16 out of 16 changed files in this pull request and generated no new comments.

@pedrolamas pedrolamas merged commit 065d728 into fluidd-core:develop Jun 6, 2026
6 checks passed
@pedrolamas pedrolamas deleted the pedrolamas/thermal-colors branch June 6, 2026 16:36
@ReXT3D

ReXT3D commented Jun 6, 2026

Copy link
Copy Markdown

Thank you sir!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

FR - Enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Temperature sensor colours and sorting order anomalies Customizable colors for temperature chart

3 participants