Digitale Ausgänge nicht erforderlich
This commit is contained in:
@@ -6,5 +6,5 @@
|
||||
2: Patch oder Hotfix (Bugfixes oder kleine Änderungen).
|
||||
|
||||
*/
|
||||
const webVersion = "1.6.207";
|
||||
const webVersion = "1.6.208";
|
||||
export default webVersion;
|
||||
|
||||
12
docsForDev/DECISIONS.md
Normal file
12
docsForDev/DECISIONS.md
Normal file
@@ -0,0 +1,12 @@
|
||||
## Entscheidung: Digitale Ausgänge (da.js)
|
||||
|
||||
**Datum:** 03.04.2025
|
||||
**Gesprächspartner:** Kai
|
||||
|
||||
**Inhalt:**
|
||||
Digitale Ausgänge (da.js) sind aktuell **nicht erforderlich**. Diese Funktion wird in einer späteren Version umgesetzt, weil sie derzeit nicht im Fokus der Deadline steht.
|
||||
|
||||
**Notiz für spätere Version:**
|
||||
Digitale Ausgänge können über eine spätere Erweiterung integriert werden, z. B. nach Version 1.0.0.
|
||||
|
||||
---
|
||||
@@ -71,7 +71,10 @@ const EinAusgaenge: React.FC = () => {
|
||||
openInputModal={openInputModal}
|
||||
inputRange={{ start: 16, end: 32 }}
|
||||
/>
|
||||
<DigitalOutputs openOutputModal={openOutputModal} />
|
||||
{/* Digitale Ausgänge nicht Erforderlich*/}
|
||||
{/*
|
||||
<DigitalOutputs openOutputModal={openOutputModal} />
|
||||
*/}
|
||||
</div>
|
||||
|
||||
{isInputModalOpen && selectedInput && (
|
||||
|
||||
@@ -1,3 +1,10 @@
|
||||
// Digitale Ausgänge Ausgang Bezeichnung und Zustand
|
||||
|
||||
var win_da=[<%=DES80%>,<%=DES81%>,<%=DES82%>,<%=DES83%>];
|
||||
|
||||
var win_da_state=[<%=DES80%>,<%=DES81%>,<%=DES82%>,<%=DES83%>];
|
||||
|
||||
var win_da_bezeichnung=["Augang1","Ausgang2","Ausgang3","Ausgang4"]; // weil es gibt noch kein Platzhalter
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -3,7 +3,6 @@
|
||||
export const fetchDigitalOutputs = async () => {
|
||||
if (typeof window === "undefined") return [];
|
||||
|
||||
// ✅ da.js nur bei Bedarf nachladen (Pfad abhängig von Umgebung)
|
||||
const scriptSrc =
|
||||
process.env.NEXT_PUBLIC_NODE_ENV === "production"
|
||||
? "/CPL?/CPL/SERVICE/da.js"
|
||||
@@ -19,25 +18,24 @@ export const fetchDigitalOutputs = async () => {
|
||||
});
|
||||
|
||||
const win = window as any;
|
||||
|
||||
const state = win.win_da_state;
|
||||
const labels = win.win_da_bezeichnung;
|
||||
|
||||
if (
|
||||
Array.isArray(state) &&
|
||||
Array.isArray(labels) &&
|
||||
state.length === labels.length
|
||||
) {
|
||||
return state.map((status: number, index: number) => ({
|
||||
id: index + 1,
|
||||
label: labels[index] || `Ausgang ${index + 1}`,
|
||||
status: status === 1,
|
||||
}));
|
||||
} else {
|
||||
console.warn("⚠️ Digitale Ausgänge unvollständig oder inkonsistent:", {
|
||||
state,
|
||||
labels,
|
||||
});
|
||||
if (!Array.isArray(state)) {
|
||||
console.warn("⚠️ win_da_state fehlt oder ist ungültig:", state);
|
||||
return [];
|
||||
}
|
||||
|
||||
const outputs = state
|
||||
.slice(0, 4) // ✅ Nur die 4 Ausgänge verwenden
|
||||
.map((status: number, index: number) => ({
|
||||
id: index + 1,
|
||||
label:
|
||||
Array.isArray(labels) && labels[index]
|
||||
? labels[index]
|
||||
: `Ausgang ${index + 1}`,
|
||||
status: status === 1,
|
||||
}));
|
||||
|
||||
return outputs;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user