diff --git a/src/components/panels/Temperature/TemperaturePanelList.vue b/src/components/panels/Temperature/TemperaturePanelList.vue
index 837feb0f9..c4eec5fd4 100644
--- a/src/components/panels/Temperature/TemperaturePanelList.vue
+++ b/src/components/panels/Temperature/TemperaturePanelList.vue
@@ -65,12 +65,19 @@ export default class TemperaturePanelList extends Mixins(BaseMixin) {
.sort(this.sortObjectName)
}
+ get hideMcuHostSensors(): boolean {
+ return this.$store.state.gui.view.tempchart.hideMcuHostSensors ?? false
+ }
+
get temperature_sensors() {
return this.available_sensors
.filter((fullName: string) => {
if (this.available_heaters.includes(fullName)) return false
if (this.temperature_fans.includes(fullName)) return false
+ // hide MCU & Host sensors, if the function is enabled
+ if (this.hideMcuHostSensors && this.checkMcuHostSensor(fullName)) return false
+
const splits = fullName.split(' ')
let name = splits[0]
if (splits.length > 1) name = splits[1]
@@ -84,6 +91,17 @@ export default class TemperaturePanelList extends Mixins(BaseMixin) {
return [...this.filteredHeaters, ...this.temperature_fans, ...this.temperature_sensors]
}
+ get settings() {
+ return this.$store.state.printer?.configfile?.settings ?? {}
+ }
+
+ checkMcuHostSensor(fullName: string) {
+ const settingsObject = this.settings[fullName.toLowerCase()] ?? {}
+ const sensor_type = settingsObject.sensor_type ?? ''
+
+ return ['temperature_mcu', 'temperature_host'].includes(sensor_type)
+ }
+
sortObjectName(a: string, b: string) {
const splitsA = a.split(' ')
let nameA = splitsA[0]
diff --git a/src/components/panels/Temperature/TemperaturePanelSettings.vue b/src/components/panels/Temperature/TemperaturePanelSettings.vue
index ad9cfc8a8..c00f80b90 100644
--- a/src/components/panels/Temperature/TemperaturePanelSettings.vue
+++ b/src/components/panels/Temperature/TemperaturePanelSettings.vue
@@ -13,6 +13,13 @@
hide-details
:label="$t('Panels.TemperaturePanel.ShowChart')" />
+
+
+
diff --git a/src/locales/de.json b/src/locales/de.json
index eb3a1aec2..0b3e89eb4 100644
--- a/src/locales/de.json
+++ b/src/locales/de.json
@@ -680,6 +680,7 @@
"Temperature": "Aktuelle Temperatur"
},
"Headline": "Temperaturen",
+ "HideMcuHostSensors": "Host/MCU Sensoren ausblenden",
"Max": "max",
"Min": "min",
"Name": "Name",
diff --git a/src/locales/en.json b/src/locales/en.json
index bdaef0320..b397aac51 100644
--- a/src/locales/en.json
+++ b/src/locales/en.json
@@ -681,6 +681,7 @@
"Temperature": "current temperature"
},
"Headline": "Temperatures",
+ "HideMcuHostSensors": "Hide Host/MCU Sensors",
"Max": "max",
"Min": "min",
"Name": "Name",
diff --git a/src/store/gui/index.ts b/src/store/gui/index.ts
index 9b5022215..57d07150c 100644
--- a/src/store/gui/index.ts
+++ b/src/store/gui/index.ts
@@ -236,6 +236,7 @@ export const getDefaultState = (): GuiState => {
tempchart: {
boolTempchart: true,
hiddenDataset: [],
+ hideMcuHostSensors: false,
autoscale: false,
datasetSettings: {},
},
diff --git a/src/store/gui/types.ts b/src/store/gui/types.ts
index dff97411c..b8bbf4dc8 100644
--- a/src/store/gui/types.ts
+++ b/src/store/gui/types.ts
@@ -162,6 +162,7 @@ export interface GuiState {
tempchart: {
boolTempchart: boolean
hiddenDataset: string[]
+ hideMcuHostSensors: boolean
autoscale: boolean
datasetSettings: any
}
diff --git a/src/store/printer/tempHistory/getters.ts b/src/store/printer/tempHistory/getters.ts
index 67e150854..53ed0d318 100644
--- a/src/store/printer/tempHistory/getters.ts
+++ b/src/store/printer/tempHistory/getters.ts
@@ -70,7 +70,29 @@ export const getters: GetterTree = {
return getters['getAvg'](name, 'speed')
},
- getSelectedLegends: (state, _, rootState) => {
+ getHostMcuSensors: (state, getters, rootState) => {
+ const settings = rootState.printer?.configfile?.settings ?? {}
+ const available_heaters = rootState.printer?.heaters?.available_heaters ?? []
+ const available_sensors = rootState.printer?.heaters?.available_sensors ?? []
+
+ return available_sensors.filter((fullName: string) => {
+ // stop when the current sensor is a heater
+ if (available_heaters.includes(fullName)) return false
+ // stop when the current sensor is a temperature_fan
+ if (fullName.startsWith('temperature_fan')) return false
+
+ // get printer settings object from the current sensor
+ const settingsObject = settings[fullName.toLowerCase()]
+ if (!settingsObject) return false
+
+ // get the sensor type of the current sensor
+ const sensor_type = settingsObject.sensor_type ?? ''
+
+ return ['temperature_mcu', 'temperature_host'].includes(sensor_type)
+ })
+ },
+
+ getSelectedLegends: (state, getters, rootState) => {
interface legends {
[key: string]: boolean
}
@@ -108,6 +130,21 @@ export const getters: GetterTree = {
selected[serie.name] = !datasetTypesInPercents.includes(datasetType)
})
+ // hide MCU & Host sensors, if the option is set to true
+ const hideMcuHostSensors = rootState.gui?.view?.tempchart?.hideMcuHostSensors ?? false
+ if (hideMcuHostSensors) {
+ const mcuHostSensors = getters.getHostMcuSensors ?? []
+
+ Object.keys(selected)
+ .filter((seriesName) => {
+ const datasetName = seriesName.slice(0, seriesName.lastIndexOf('-'))
+ return mcuHostSensors.includes(datasetName)
+ })
+ .forEach((seriesName) => {
+ selected[seriesName] = false
+ })
+ }
+
return selected
},