diff --git a/packages/modules/web_themes/colors/source/src/assets/js/processMessages.ts b/packages/modules/web_themes/colors/source/src/assets/js/processMessages.ts
index 6bcc8ecd3d..22184c48e1 100755
--- a/packages/modules/web_themes/colors/source/src/assets/js/processMessages.ts
+++ b/packages/modules/web_themes/colors/source/src/assets/js/processMessages.ts
@@ -32,6 +32,7 @@ import {
import { mqttClientId } from './mqttClient'
import { add } from '@/components/mqttViewer/model'
import { globalConfig } from './themeConfig'
+import { addConsumer } from '@/components/consumerList/model'
const topicsToSubscribe = [
'openWB/counter/#',
@@ -159,6 +160,9 @@ function processHierarchy(hierarchy: Hierarchy) {
case 'inverter':
addPvSystem(hierarchy.id)
break
+ case 'consumer':
+ addConsumer(hierarchy.id)
+ break
default:
// console.warn('Ignored Hierarchy type: ' + hierarchy.type)
}
diff --git a/packages/modules/web_themes/colors/source/src/assets/js/sendMessages.ts b/packages/modules/web_themes/colors/source/src/assets/js/sendMessages.ts
index 81661d2fc9..053c9a7c0e 100644
--- a/packages/modules/web_themes/colors/source/src/assets/js/sendMessages.ts
+++ b/packages/modules/web_themes/colors/source/src/assets/js/sendMessages.ts
@@ -12,8 +12,7 @@ const topics: { [topic: string]: string } = {
chargeMode:
'openWB/set/vehicle/template/charge_template/%/chargemode/selected',
cpPriority: 'openWB/set/vehicle/template/charge_template/%/prio',
- pvBatteryPriority:
- 'openWB/set/general/chargemode_config/bat/mode',
+ pvBatteryPriority: 'openWB/set/general/chargemode_config/bat/mode',
cpVehicle: 'openWB/set/chargepoint/%/config/ev',
cpInstantChargeLimitMode:
'openWB/set/vehicle/template/charge_template/%/chargemode/instant_charging/limit/selected',
diff --git a/packages/modules/web_themes/colors/source/src/components/consumerList/ConsumerList.vue b/packages/modules/web_themes/colors/source/src/components/consumerList/ConsumerList.vue
index f85192b47c..80280c11dd 100644
--- a/packages/modules/web_themes/colors/source/src/components/consumerList/ConsumerList.vue
+++ b/packages/modules/web_themes/colors/source/src/components/consumerList/ConsumerList.vue
@@ -1,9 +1,18 @@
-
+
Verbraucher
+
+
+
+
+
+
+ Anzeige der Verbraucher
+
+
+
+
+
+
+
diff --git a/packages/modules/web_themes/colors/source/src/components/consumerList/model.ts b/packages/modules/web_themes/colors/source/src/components/consumerList/model.ts
index a65066b5a9..5c8ebce7d6 100644
--- a/packages/modules/web_themes/colors/source/src/components/consumerList/model.ts
+++ b/packages/modules/web_themes/colors/source/src/components/consumerList/model.ts
@@ -40,7 +40,7 @@ export class Consumer implements PowerItem {
}
set showInGraph(val: boolean) {
this._showInGraph = val
- registry.items.get('sh' + this.id)!.showInGraph = val
+ registry.items.get('consumer' + this.id)!.showInGraph = val
savePrefs()
}
setShowInGraph(val: boolean) {
@@ -51,12 +51,20 @@ export class Consumer implements PowerItem {
export const consumers = reactive(new Map())
export function addConsumer(index: number, showInList = true) {
+ const consumerColorCount = 5
if (!consumers.has(index)) {
consumers.set(index, new Consumer(index, showInList))
const dev = consumers.get(index)!
- dev.color = 'var(--color-consumer' + consumers.size + ')'
+ dev.color =
+ 'var(--color-consumer' +
+ (((consumers.size - 1) % consumerColorCount) + 1) +
+ ')'
// console.log('Added consumer with index ' + index + ' and color ' + dev.color)
} else {
console.warn('Consumer with index ' + index + ' already exists.')
}
}
+
+export function resetConsumers() {
+ consumers.clear()
+}
diff --git a/packages/modules/web_themes/colors/source/src/components/consumerList/processMessages.ts b/packages/modules/web_themes/colors/source/src/components/consumerList/processMessages.ts
index f385dc868b..8e44482a82 100644
--- a/packages/modules/web_themes/colors/source/src/components/consumerList/processMessages.ts
+++ b/packages/modules/web_themes/colors/source/src/components/consumerList/processMessages.ts
@@ -4,7 +4,6 @@ import { updateShSummary } from '../smartHome/processMessages'
// Process incoming messages for consumers based on the topic
export function processConsumerMessages(topic: string, message: string) {
- // console.debug('Consumer: Received message on topic ' + topic + ': ' + message)
if (topic.match(/^openWB\/consumer\/config\//i)) {
processConsumerConfigMessages(topic, message)
} else if (topic.match(/^openWB\/consumer\/[0-9]+\//i)) {
@@ -22,7 +21,7 @@ function processConsumerDeviceMessages(topic: string, message: string) {
return
}
if (!consumers.has(index)) {
- addConsumer(index)
+ console.warn('Invalid consumer id received: ' + index)
}
const dev = consumers.get(index)!
if (topic.match(/^openWB\/consumer\/[0-9]+\/get\/power$/i)) {
@@ -56,7 +55,7 @@ function processConsumerConfigMessages(topic: string, message: string) {
}
if (!consumers.has(index)) {
console.warn('Invalid device id received: ' + index)
- addConsumer(index)
+ // addConsumer(index)
}
const dev = consumers.get(index)!
if (