diff --git a/apiMockData/SERVICE/analogeEingaengeMockData.js b/apiMockData/SERVICE/analogeEingaengeMockData.js index 7216151..c9bffdf 100644 --- a/apiMockData/SERVICE/analogeEingaengeMockData.js +++ b/apiMockData/SERVICE/analogeEingaengeMockData.js @@ -1,12 +1,23 @@ // /apiMockData/SERVICE/analogeEingaengeMockData.js -var win_analogeEingaenge1 = [1, 0, "Sensor2", 1, 1, 0, 1]; // Eingang 1 -var win_analogeEingaenge2 = [2, 22.91, "Feuchtigkeit", 1, 1, 1, 0]; // Eingang 2 -var win_analogeEingaenge3 = [3, 0, "Test", 1, 1, 0, 1]; // Eingang 3 -var win_analogeEingaenge4 = [4, 0, "test2", 1, 1, 0, 1]; // Eingang 4 -var win_analogeEingaenge5 = [5, 0, "----", 1, 1, 0, 1]; // Eingang 5 -var win_analogeEingaenge6 = [6, 21, "Temperatur", 1, 1, 0, 1]; // Eingang 6 -var win_analogeEingaenge7 = [7, 0, "----", 1, 1, 1, 0]; // Eingang 7 -var win_analogeEingaenge8 = [8, 0, "Test", 1, 1, 0, 1]; // Eingang 8 +var win_analogInputsValues = [ + 4.771072, 5.665244, 0.005467, -0.007468, 0.000002, 0.000001, 0.000001, + 0.000007, +]; +var win_analogInputsNames = [ + "AE 1", + "AE 2", + "AE 3", + "AE 4", + "AE 5", + "AE 6", + "AE 7", + "AE 8", +]; +var win_analogInputsUnits = ["V", "V", "V", "V", "mA", "mA", "mA", "mA"]; +var win_analogInputsFactor = [1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0]; +var win_analogInputsOffset = [0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0, 0.0]; +var win_analogInputsWeighting = [0, 0, 0, 0, 0, 0, 0, 0]; +var win_analogInputsloggerIntervall = [10, 10, 10, 10, 10, 10, 10, 10]; /* ID (z. B. 1, 2, ... 8) → Identifikation des Eingangs diff --git a/components/main/analogeEingaenge/AnalogInputsChart.tsx b/components/main/analogeEingaenge/AnalogInputsChart.tsx index 94ce736..529da2f 100644 --- a/components/main/analogeEingaenge/AnalogInputsChart.tsx +++ b/components/main/analogeEingaenge/AnalogInputsChart.tsx @@ -1,4 +1,5 @@ -"use client"; // components/main/analogeEingaenge/AnalogInputsChart.tsx +"use client"; +// components/main/analogeEingaenge/AnalogInputsChart.tsx import React from "react"; import { useSelector } from "react-redux"; import { RootState } from "../../../redux/store"; @@ -17,17 +18,15 @@ export default function AnalogInputsChart() { (state: RootState) => state.analogeEingaengeSlice ); - // Daten für das Diagramm vorbereiten - const chartData = Object.values(analogInputs).map((input) => ({ - name: `Input ${input.id}`, - value: input.value ?? 0, // Falls kein Wert vorhanden ist, wird 0 gesetzt - })); + const chartData = Object.values(analogInputs) + .filter((input) => input?.id !== null && input?.id !== undefined) + .map((input) => ({ + name: `Eingang ${input.id}`, + Wert: input.value ?? 0, + })); return (
-

- Analog Inputs Chart -

diff --git a/components/main/analogeEingaenge/AnalogeEingaengeTable.tsx b/components/main/analogeEingaenge/AnalogeEingaengeTable.tsx index f5f01da..0b7d2d7 100644 --- a/components/main/analogeEingaenge/AnalogeEingaengeTable.tsx +++ b/components/main/analogeEingaenge/AnalogeEingaengeTable.tsx @@ -1,4 +1,5 @@ -"use client"; // components/main/analogeEingaenge/AnalogeEingaengeTable.tsx +"use client"; +// components/main/analogeEingaenge/AnalogeEingaengeTable.tsx import React, { useEffect, useState } from "react"; import { useDispatch, useSelector } from "react-redux"; import { RootState, AppDispatch } from "../../../redux/store"; @@ -8,14 +9,14 @@ export default function AnalogeEingaengeTable() { const dispatch = useDispatch(); useEffect(() => { - dispatch(fetchAnalogeEingaengeThunk()); // ✅ Holt die API-Daten nur im Client + dispatch(fetchAnalogeEingaengeThunk()); }, [dispatch]); const analogeEingaenge = useSelector( (state: RootState) => state.analogeEingaengeSlice ); - const [selectedEingang, setSelectedEingang] = useState(null); + const [selectedEingang, setSelectedEingang] = useState(null); const openSettingsModal = (eingang: any) => { setSelectedEingang(eingang); @@ -35,49 +36,32 @@ export default function AnalogeEingaengeTable() { Eingang Wert Bezeichnung - {/* - uW - uG - oW - oG - */} Einstellung - {Object.values(analogeEingaenge).map((eingang, index) => ( - - {eingang.id ?? "-"} - {eingang.value ?? "-"} - {eingang.name || "----"} - {/* - - {eingang.uW ? "🟢" : "⚪"} - - - {eingang.uG ? "🟢" : "⚪"} - - - {eingang.oW ? "🟠" : "⚪"} - - - {eingang.oG ? "🟢" : "⚪"} - - */} - - - - - - ))} + {Object.values(analogeEingaenge) + .filter( + (eingang) => eingang?.id !== null && eingang?.id !== undefined + ) + .map((eingang, index) => ( + + {eingang.id ?? "-"} + {eingang.value ?? "-"} + {eingang.name || "----"} + + + + + ))}
@@ -102,12 +86,12 @@ export default function AnalogeEingaengeTable() {
Einheit:
-
{selectedEingang.einheit}
+
{selectedEingang.unit}
Faktor:
-
{selectedEingang.faktor}
+
{selectedEingang.factor}
Offset: @@ -117,12 +101,12 @@ export default function AnalogeEingaengeTable() {
Gewichtung:
-
{selectedEingang.gewichtung}
+
{selectedEingang.weighting}
- Loggerinterval: + Logger-Intervall:
-
{selectedEingang.loggerinterval} Minuten
+
{selectedEingang.loggerInterval} Minuten
diff --git a/config/webVersion.ts b/config/webVersion.ts index 970180a..8218279 100644 --- a/config/webVersion.ts +++ b/config/webVersion.ts @@ -6,5 +6,5 @@ 2: Patch oder Hotfix (Bugfixes oder kleine Änderungen). */ -const webVersion = "1.6.288"; +const webVersion = "1.6.289"; export default webVersion; diff --git a/pages/analogeEingaenge.tsx b/pages/analogeEingaenge.tsx index 405ea2a..fdea02e 100644 --- a/pages/analogeEingaenge.tsx +++ b/pages/analogeEingaenge.tsx @@ -36,7 +36,7 @@ function AnalogeEingaenge() { {/* Diagramm als Card */}

- Analog Inputs Chart + Analoge Eingäne Messkurve

diff --git a/public/CPL/SERVICE/ae.js b/public/CPL/SERVICE/ae.js index a7f7059..55ff1e4 100644 --- a/public/CPL/SERVICE/ae.js +++ b/public/CPL/SERVICE/ae.js @@ -1,11 +1,22 @@ -var win_analogeEingaenge1 = "<%AAV01%>"; -var win_analogeEingaenge2 = "<%AAV02%>"; -var win_analogeEingaenge3 = "<%AAV03%>"; -var win_analogeEingaenge4 = "<%AAV04%>"; -var win_analogeEingaenge5 = "<%AAV05%>"; -var win_analogeEingaenge6 = "<%AAV06%>"; -var win_analogeEingaenge7 = "<%AAV07%>"; -var win_analogeEingaenge8 = "<%AAV08%>"; +// /public/CPL/SERVICE/ae.js +//CGI-Variablen +var win_analogInputsValues = [<%=AAV01%>,<%=AAV02%>,<%=AAV03%>,<%=AAV04%>,<%=AAV05%>,<%=AAV06%>,<%=AAV07%>,<%=AAV08%>]; +var win_analogInputsNames=[<%=ACN01%>,<%=ACN02%>,<%=ACN03%>,<%=ACN04%>,<%=ACN05%>,<%=ACN06%>,<%=ACN07%>,<%=ACN08%>]; +var win_analogInputsUnits=[<%=ACU01%>,<%=ACU02%>,<%=ACU03%>,<%=ACU04%>,<%=ACU05%>,<%=ACU06%>,<%=ACU07%>,<%=ACU08%>]; +var win_analogInputsFactor=[<%=ACF01%>,<%=ACF02%>,<%=ACF03%>,<%=ACF04%>,<%=ACF05%>,<%=ACF06%>,<%=ACF07%>,<%=ACF08%>]; +var win_analogInputsOffset=[<%=ACO01%>,<%=ACO02%>,<%=ACO03%>,<%=ACO04%>,<%=ACO05%>,<%=ACO06%>,<%=ACO07%>,<%=ACO08%>]; +var win_analogInputsWeighting=[<%=ACS01%>,<%=ACS02%>,<%=ACS03%>,<%=ACS04%>,<%=ACS05%>,<%=ACS06%>,<%=ACS07%>,<%=ACS08%>]; +var win_analogInputsloggerIntervall =[<%=ACL01%>,<%=ACL02%>,<%=ACL03%>,<%=ACL04%>,<%=ACL05%>,<%=ACL06%>,<%=ACL07%>,<%=ACL08%>]; + +// CGI responsive Variablen +/* +var win_analogInputsValues = [4.771072,5.665244,0.005467,-0.007468,0.000002,0.000001,0.000001,0.000007]; +var win_analogInputsNames=['AE 1','AE 2','AE 3','AE 4','AE 5','AE 6','AE 7','AE 8']; +var win_analogInputsUnits=['V','V','V','V','mA','mA','mA','mA']; +var win_analogInputsFactor=[1.000,1.000,1.000,1.000,1.000,1.000,1.000,1.000]; +var win_analogInputsOffset=[0.000,0.000,0.000,0.000,0.000,0.000,0.000,0.000]; +var win_analogInputsWeighting=[0,0,0,0,0,0,0,0]; +var win_analogInputsloggerIntervall =[10,10,10,10,10,10,10,10]; /* Kontext: Messwert @@ -22,3 +33,4 @@ Systemspannungen Ausgabeformat: %0.6f */ +// var system=[<%=AAV09%>,<%=AAV11%>,<%=AAV15%>,<%=AAV16%>,<%=AAV17%>,<%=AAV18%>]; diff --git a/public/CPL/SERVICE/systemVoltTemp.js b/public/CPL/SERVICE/systemVoltTemp.js new file mode 100644 index 0000000..3dd0002 --- /dev/null +++ b/public/CPL/SERVICE/systemVoltTemp.js @@ -0,0 +1 @@ +var win_systemVoltTemp=[<%=AAV09%>,<%=AAV11%>,<%=AAV15%>,<%=AAV16%>,<%=AAV17%>,<%=AAV18%>]; \ No newline at end of file diff --git a/services/fetchAnalogeEingaengeService.ts b/services/fetchAnalogeEingaengeService.ts index 4427360..7195250 100644 --- a/services/fetchAnalogeEingaengeService.ts +++ b/services/fetchAnalogeEingaengeService.ts @@ -7,46 +7,49 @@ export const fetchAnalogeEingaengeService = async (): Promise((resolve, reject) => { const script = document.createElement("script"); script.src = scriptSrc; script.async = true; script.onload = () => resolve(); - script.onerror = () => reject(`❌ Fehler beim Laden von ${scriptSrc}`); + script.onerror = () => reject(`❌ Error loading ${scriptSrc}`); document.body.appendChild(script); }); - // Analoge Eingänge parsen (1 bis 8) - const result: Record = {}; - for (let i = 1; i <= 8; i++) { - const varName = `win_analogeEingaenge${i}`; - const data = (window as any)[varName]; + // Now read the real variables + const values = (window as any).win_analogInputsValues || []; + const names = (window as any).win_analogInputsNames || []; + const units = (window as any).win_analogInputsUnits || []; + const factor = (window as any).win_analogInputsFactor || []; + const offset = (window as any).win_analogInputsOffset || []; + const weighting = (window as any).win_analogInputsWeighting || []; + const loggerInterval = + (window as any).win_analogInputsloggerIntervall || []; - if (Array.isArray(data)) { - result[varName] = { - id: data[0], - value: data[1], - name: data[2], - untererWarnwert: data[3] === 1, - untererGrenzwert: data[4] === 1, - obererWarnwert: data[5] === 1, - obererGrenzwert: data[6] === 1, - }; - } + const result: Record = {}; + + for (let i = 0; i < values.length; i++) { + result[`analogInput${i + 1}`] = { + id: i + 1, + value: values[i], + name: names[i], + unit: units[i], + factor: factor[i], + offset: offset[i], + weighting: weighting[i], + loggerInterval: loggerInterval[i], + }; } return result; } catch (error) { - console.error("❌ Fehler beim Laden der analogen Eingänge:", error); + console.error("❌ Error loading analog inputs:", error); return null; } };