Skip to content

Commit 2fd2901

Browse files
authored
Systembericht-Angaben Issue:#101. Systembericht mit zusätzlichen Daten vorbelegen #101 (#546)
* Add input fields for vehicle make and model * Add input fields for devices and components * Populate system report with relevant data
1 parent 8c400a1 commit 2fd2901

File tree

3 files changed

+192
-41
lines changed

3 files changed

+192
-41
lines changed

src/views/HardwareInstallation.vue

Lines changed: 36 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,42 @@
180180
)
181181
"
182182
/>
183+
<openwb-base-text-input
184+
title="Hersteller"
185+
subtype="text"
186+
:model-value="
187+
installedComponent.info.manufacturer
188+
"
189+
@update:model-value="
190+
updateState(
191+
installedComponentKey,
192+
$event,
193+
'info.manufacturer',
194+
)
195+
"
196+
>
197+
<template #help>
198+
Optional: zusätzliche Information für den
199+
Systembericht.
200+
</template>
201+
</openwb-base-text-input>
202+
<openwb-base-text-input
203+
title="Modell"
204+
subtype="text"
205+
:model-value="installedComponent.info.model"
206+
@update:model-value="
207+
updateState(
208+
installedComponentKey,
209+
$event,
210+
'info.model',
211+
)
212+
"
213+
>
214+
<template #help>
215+
Optional: zusätzliche Information für den
216+
Systembericht.
217+
</template>
218+
</openwb-base-text-input>
183219
<hr />
184220
<openwb-config-proxy
185221
:deviceId="installedDevice.id"

src/views/Support.vue

Lines changed: 110 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -9,19 +9,19 @@
99
"
1010
subtype="danger"
1111
>
12-
Sie müssen der
12+
Du musst der
1313
<router-link to="/System/LegalSettings">
1414
Datenschutzerklärung
1515
</router-link>
1616
zustimmen, um einen Systembericht senden zu können.
1717
</openwb-base-alert>
1818
<div v-else>
1919
<openwb-base-alert subtype="success">
20-
Sie haben der
20+
Du hast der
2121
<router-link to="/System/LegalSettings">
2222
Datenschutzerklärung
2323
</router-link>
24-
zugestimmt und können Systemberichte senden.
24+
zugestimmt und kannst Systemberichte senden.
2525
</openwb-base-alert>
2626
<openwb-base-card title="Systembericht">
2727
<div
@@ -34,20 +34,19 @@
3434
<openwb-base-alert subtype="info">
3535
<ul>
3636
<li>
37-
Lesen Sie den Hilfetext, der durch Klick auf
38-
das
37+
Lies bitte den Hilfetext, der durch Klick
38+
auf das
3939
<FontAwesomeIcon
4040
:icon="['far', 'question-circle']"
4141
/>
42-
angezeigt wird. Nehmen Sie das Wiki zur
43-
Hilfe.
42+
angezeigt wird. Nimm das Wiki zur Hilfe.
4443
</li>
4544
<li>
46-
Vergewissern Sie sich, dass mindestens die
45+
Vergewissere Dich , dass mindestens die
4746
aktuelle "Release" Version installiert ist.
4847
</li>
4948
<li>
50-
Stellen Sie beim Absenden des Berichtes die
49+
Stelle beim Absenden des Berichtes die
5150
Fehlerkonditionen her. Lädt ein Fahrzeug
5251
nicht, sollte es angeschlossen und nicht
5352
voll geladen sein. Ist PV laden betroffen,
@@ -56,33 +55,32 @@
5655
wenn der Fehler aktuell vorliegt.
5756
</li>
5857
<li>
59-
Stellen Sie sicher, dass der Lademodus
60-
korrekt gewählt ist und im Falle von nicht
61-
ladenden Fahrzeugen, dass der Ladepunkt auch
58+
Stelle sicher, dass der Lademodus gewählt
59+
ist und im Falle von nicht ladenden ladenden
60+
Fahrzeugen, dass der Ladepunkt auch
6261
entsperrt wurde.
6362
</li>
6463
<li>
6564
Das Auslesen der Systemkonfiguration erfolgt
6665
direkt nach den Klick auf Absenden und kann
67-
einige Zeit in Anspruch nehmen. Sie erhalten
66+
einige Zeit in Anspruch nehmen. Du erhältst
6867
ca. 15 bis 30 Minuten nach Versand des
6968
Systemberichtes von uns automatisch eine
7069
E-Mail mit der Ticketnummer unter der die
7170
Anfrage bei uns registriert wurde. Wir
72-
melden uns bei ihnen. Bitte kontrollieren
73-
Sie daher immer auch den Spam Ordner auf
74-
eingehende Nachrichten. Erhalten Sie
75-
trotzdem keine Ticketnummer, ist das
76-
Versenden des Systemberichtes
77-
fehlgeschlagen.
71+
melden uns bei Dir. Bitte kontrolliere daher
72+
immer auch den Spam Ordner auf eingehende
73+
Nachrichten. Erhältst Du trotzdem keine
74+
Ticketnummer, ist das Versenden des
75+
Systemberichtes vermutlich fehlgeschlagen.
7876
</li>
7977
</ul>
8078
</openwb-base-alert>
8179
<openwb-base-text-input
8280
title="E-Mail"
8381
required
8482
subtype="email"
85-
v-model="sendDebugData.email"
83+
v-model="email"
8684
>
8785
<template #help>
8886
Deine E-Mail-Adresse, an die der Support Dir
@@ -92,47 +90,69 @@
9290
<openwb-base-text-input
9391
title="openWB Seriennummer"
9492
required
95-
v-model="sendDebugData.serialNumber"
93+
:model-value="
94+
$store.state.mqtt['openWB/system/serial_number']
95+
"
96+
@update:model-value="
97+
updateState(
98+
'openWB/system/serial_number',
99+
$event,
100+
)
101+
"
96102
>
97103
<template #help>
98-
Die Seriennummer der openWB finden Sie außen am
99-
Gehäuse - bei Älteren innen im Gehäuse. Sie
100-
können uns aber auch eine Bestellnummer oder
104+
Die Seriennummer der openWB findest Du außen am,
105+
bei älteren Installationen innen im Gehäuse. Du
106+
kannst uns aber auch eine Bestellnummer oder
101107
Rechnungsnummer übermitteln. Das Gehäuse muss
102-
nicht extra geöffnet werden!
108+
nicht extra geöffnet werden!<br />
109+
Bei einer gekauften openWB wird die Seriennummer
110+
automatisch ermittelt.
103111
</template>
104112
</openwb-base-text-input>
105113
<openwb-base-textarea
106114
title="Verwendete Komponenten"
107115
required
108116
minlength="3"
109117
maxlength="500"
110-
v-model="sendDebugData.installedComponents"
118+
:model-value="installedComponents"
119+
@update:model-value="components = $event"
111120
>
112121
<template #help>
113-
Geben Sie hier möglichst detailliert an, welche
122+
Gib hier möglichst detailliert an, welche
114123
Anlagenkomponenten (EVU, PV, Speicher)
115-
angebunden sind.
124+
angebunden sind.<br />
125+
<router-link to="/HardwareInstallation">
126+
Die Angaben können auch direkt in der
127+
Konfiguration der Komponenten dauerhaft
128+
gespeichert werden.
129+
</router-link>
116130
</template>
117131
</openwb-base-textarea>
118132
<openwb-base-textarea
119133
title="Fahrzeuge"
120134
required
121135
minlength="3"
122136
maxlength="500"
123-
v-model="sendDebugData.vehicles"
137+
:model-value="vehicleInfo"
138+
@update:model-value="vehicles = $event"
124139
>
125140
<template #help>
126-
Geben Sie hier an, welche Fahrzeuge geladen
127-
werden (Hersteller, Modell, Baujahr).
141+
Gib hier an, welche Fahrzeuge geladen
142+
(Hersteller, Modell, Baujahr).<br />
143+
<router-link to="/VehicleConfiguration">
144+
Die Angaben können auch direkt in der
145+
Konfiguration der Fahrzeuge dauerhaft
146+
gespeichert werden.
147+
</router-link>
128148
</template>
129149
</openwb-base-textarea>
130150
<openwb-base-textarea
131151
title="Problembeschreibung"
132152
required
133153
minlength="20"
134154
maxlength="500"
135-
v-model="sendDebugData.message"
155+
v-model="message"
136156
/>
137157
</div>
138158
<template
@@ -164,7 +184,7 @@
164184
subtype="success"
165185
>
166186
Die Daten für den Fehlerbericht werden im Hintergrund
167-
zusammengestellt. Sie können diese Seite jetzt verlassen.
187+
zusammengestellt. Du kannst diese Seite jetzt verlassen.
168188
<font-awesome-icon fixed-width :icon="['fas', 'check']" />
169189
</openwb-base-alert>
170190
</div>
@@ -193,14 +213,16 @@ export default {
193213
mqttTopicsToSubscribe: [
194214
"openWB/general/extern",
195215
"openWB/system/dataprotection_acknowledged",
216+
"openWB/system/serial_number",
217+
"openWB/system/device/+/config",
218+
"openWB/system/device/+/component/+/config",
219+
"openWB/vehicle/+/name",
220+
"openWB/vehicle/+/info",
196221
],
197-
sendDebugData: {
198-
email: "",
199-
serialNumber: "",
200-
installedComponents: "",
201-
vehicles: "",
202-
message: "",
203-
},
222+
email: undefined,
223+
components: undefined,
224+
vehicles: undefined,
225+
message: undefined,
204226
enableSendDebugButton: true,
205227
};
206228
},
@@ -213,11 +235,58 @@ export default {
213235
} else {
214236
this.$emit("sendCommand", {
215237
command: "sendDebug",
216-
data: this.sendDebugData,
238+
data: this.debugData,
217239
});
218240
this.enableSendDebugButton = false;
219241
}
220242
},
221243
},
244+
computed: {
245+
debugData() {
246+
return {
247+
email: this.email,
248+
serialNumber:
249+
this.$store.state.mqtt["openWB/system/serial_number"],
250+
installedComponents: this.installedComponents,
251+
vehicles: this.vehicleInfo,
252+
message: this.message,
253+
};
254+
},
255+
installedComponents() {
256+
if (this.components !== undefined) {
257+
return this.components;
258+
}
259+
let componentText = "";
260+
const components = this.getWildcardTopics(
261+
`openWB/system/device/+/component/+/config`,
262+
);
263+
for (const componentConfig of Object.values(components)) {
264+
const componentId = componentConfig.id;
265+
const manufacturer =
266+
componentConfig.info?.manufacturer || "N/A";
267+
const model = componentConfig.info?.model || "N/A";
268+
componentText += `(${componentId}) Hersteller: ${manufacturer}, Modell: ${model}\n`;
269+
}
270+
return componentText.trim();
271+
},
272+
vehicleInfo() {
273+
if (this.vehicles !== undefined) {
274+
return this.vehicles;
275+
}
276+
let vehicleText = "";
277+
const vehicles = this.getWildcardTopics("openWB/vehicle/+/info");
278+
for (const [vehicleTopic, vehicleInfo] of Object.entries(
279+
vehicles,
280+
)) {
281+
const vehicleId = parseInt(vehicleTopic.split("/")[2]);
282+
if (vehicleId !== 0) {
283+
const manufacturer = vehicleInfo.manufacturer || "N/A";
284+
const model = vehicleInfo.model || "N/A";
285+
vehicleText += `(${vehicleId}) Hersteller: ${manufacturer}, Modell: ${model}\n`;
286+
}
287+
}
288+
return vehicleText.trim();
289+
},
290+
},
222291
};
223292
</script>

src/views/VehicleConfig.vue

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -156,6 +156,51 @@
156156
werden.
157157
</template>
158158
</openwb-base-text-input>
159+
<openwb-base-text-input
160+
title="Fahrzeughersteller "
161+
v-if="vehicleId !== 0"
162+
:model-value="
163+
$store.state.mqtt[
164+
'openWB/vehicle/' + vehicleId + '/info'
165+
].manufacturer
166+
"
167+
@update:model-value="
168+
updateState(
169+
'openWB/vehicle/' + vehicleId + '/info',
170+
$event,
171+
'manufacturer',
172+
)
173+
"
174+
>
175+
<template #help>
176+
Optional: zusätzliche Information für den
177+
Systembericht.
178+
</template>
179+
</openwb-base-text-input>
180+
<openwb-base-text-input
181+
title="Fahrzeugmodell"
182+
v-if="vehicleId !== 0"
183+
:model-value="
184+
$store.state.mqtt[
185+
'openWB/vehicle/' + vehicleId + '/info'
186+
].model
187+
"
188+
@update:model-value="
189+
updateState(
190+
'openWB/vehicle/' + vehicleId + '/info',
191+
$event,
192+
'model',
193+
)
194+
"
195+
>
196+
<template #help>
197+
Optional: zusätzliche Information für den
198+
Systembericht.<br />
199+
Nach Möglichkeit auch Angabe des Baujahres, da
200+
es durchaus beim Verhalten des Fahrzeugs
201+
Unterschiede geben kann.
202+
</template>
203+
</openwb-base-text-input>
159204
<openwb-base-alert subtype="info">
160205
Ein anderes Fahrzeug-Profil wird erst NACH dem
161206
Abstecken übernommen, da es sonst durch die Änderung
@@ -2437,6 +2482,7 @@ export default {
24372482
"openWB/vehicle/template/charge_template/+/chargemode/scheduled_charging/plans/+",
24382483
"openWB/vehicle/template/charge_template/+/time_charging/plans/+",
24392484
"openWB/vehicle/+/name",
2485+
"openWB/vehicle/+/info",
24402486
"openWB/vehicle/+/charge_template",
24412487
"openWB/vehicle/+/ev_template",
24422488
"openWB/vehicle/+/tag_id",

0 commit comments

Comments
 (0)