feat: update analogInputs data in mocks

This commit is contained in:
ISA
2025-09-03 11:30:44 +02:00
parent 420f1da114
commit 6c2707ff47
30 changed files with 45990 additions and 45774 deletions

View File

@@ -6,6 +6,6 @@ NEXT_PUBLIC_USE_MOCK_BACKEND_LOOP_START=false
NEXT_PUBLIC_EXPORT_STATIC=false
NEXT_PUBLIC_USE_CGI=false
# App-Versionsnummer
NEXT_PUBLIC_APP_VERSION=1.6.825
NEXT_PUBLIC_APP_VERSION=1.6.826
NEXT_PUBLIC_CPL_MODE=json # json (Entwicklungsumgebung) oder jsSimulatedProd (CPL ->CGI-Interface-Simulator) oder production (CPL-> CGI-Interface Platzhalter)

View File

@@ -5,5 +5,5 @@ NEXT_PUBLIC_CPL_API_PATH=/CPL
NEXT_PUBLIC_EXPORT_STATIC=true
NEXT_PUBLIC_USE_CGI=true
# App-Versionsnummer
NEXT_PUBLIC_APP_VERSION=1.6.825
NEXT_PUBLIC_APP_VERSION=1.6.826
NEXT_PUBLIC_CPL_MODE=production

View File

@@ -1,3 +1,12 @@
## [1.6.826] 2025-09-03
- refactor(api): Pfad für Digitalausgänge vereinheitlicht; Duplikat entfernt
updateDigitalOutputsHandler: JSON-Schreibpfad auf digitalOutputsMockData.json umgestellt
digitalOutputsMockData.json gelöscht (nicht mehr benötigt)
GET-Handler liest bereits aus dem kanonischen Pfad; Verhalten unverändert
---
## [1.6.825] 2025-09-03
- refactor(api): Legacy-Fallback entfernt; nur noch chartsData/cable-monitoring-data

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,186 +1,186 @@
[
{
"t": "2025-08-11 00:00:00",
"t": "2025-09-03 00:00:00",
"i": 125.794,
"a": 128.002,
"g": 126.882
},
{
"t": "2025-08-10 00:00:00",
"t": "2025-09-02 00:00:00",
"i": 125.728,
"a": 128.095,
"g": 126.942
},
{
"t": "2025-08-09 00:00:00",
"t": "2025-09-01 00:00:00",
"i": 125.817,
"a": 128.098,
"g": 126.898
},
{
"t": "2025-08-08 00:00:00",
"t": "2025-08-31 00:00:00",
"i": 125.996,
"a": 128.104,
"g": 126.913
},
{
"t": "2025-08-07 00:00:00",
"t": "2025-08-30 00:00:00",
"i": 125.403,
"a": 127.913,
"g": 126.844
},
{
"t": "2025-08-06 00:00:00",
"t": "2025-08-29 00:00:00",
"i": 125.661,
"a": 128.042,
"g": 126.873
},
{
"t": "2025-08-05 00:00:00",
"t": "2025-08-28 00:00:00",
"i": 125.639,
"a": 127.987,
"g": 126.844
},
{
"t": "2025-08-04 00:00:00",
"t": "2025-08-27 00:00:00",
"i": 125.72,
"a": 128.075,
"g": 126.914
},
{
"t": "2025-08-03 00:00:00",
"t": "2025-08-26 00:00:00",
"i": 125.558,
"a": 127.928,
"g": 126.92
},
{
"t": "2025-08-02 00:00:00",
"t": "2025-08-25 00:00:00",
"i": 125.785,
"a": 128.192,
"g": 126.932
},
{
"t": "2025-08-01 00:00:00",
"t": "2025-08-24 00:00:00",
"i": 0,
"a": 128.165,
"g": 126.954
},
{
"t": "2025-07-31 00:00:00",
"t": "2025-08-23 00:00:00",
"i": 125.901,
"a": 128.445,
"g": 126.909
},
{
"t": "2025-07-30 00:00:00",
"t": "2025-08-22 00:00:00",
"i": 125.703,
"a": 128.398,
"g": 126.894
},
{
"t": "2025-07-29 00:00:00",
"t": "2025-08-21 00:00:00",
"i": 125.881,
"a": 128.436,
"g": 126.981
},
{
"t": "2025-07-28 00:00:00",
"t": "2025-08-20 00:00:00",
"i": 125.748,
"a": 128.195,
"g": 126.962
},
{
"t": "2025-07-27 00:00:00",
"t": "2025-08-19 00:00:00",
"i": 125.917,
"a": 128.488,
"g": 126.893
},
{
"t": "2025-07-26 00:00:00",
"t": "2025-08-18 00:00:00",
"i": 126.039,
"a": 128.153,
"g": 126.992
},
{
"t": "2025-07-25 00:00:00",
"t": "2025-08-17 00:00:00",
"i": 125.845,
"a": 128.654,
"g": 127.027
},
{
"t": "2025-07-24 00:00:00",
"t": "2025-08-16 00:00:00",
"i": 125.501,
"a": 128.296,
"g": 126.988
},
{
"t": "2025-07-23 00:00:00",
"t": "2025-08-15 00:00:00",
"i": 0,
"a": 128.286,
"g": 126.931
},
{
"t": "2025-07-22 00:00:00",
"t": "2025-08-14 00:00:00",
"i": 0,
"a": 127.906,
"g": 126.936
},
{
"t": "2025-07-21 00:00:00",
"t": "2025-08-13 00:00:00",
"i": 125.723,
"a": 127.953,
"g": 126.904
},
{
"t": "2025-07-20 00:00:00",
"t": "2025-08-12 00:00:00",
"i": 125.639,
"a": 127.955,
"g": 126.817
},
{
"t": "2025-07-19 00:00:00",
"t": "2025-08-11 00:00:00",
"i": 125.687,
"a": 128.166,
"g": 126.834
},
{
"t": "2025-07-18 00:00:00",
"t": "2025-08-10 00:00:00",
"i": 125.768,
"a": 127.869,
"g": 126.835
},
{
"t": "2025-07-17 00:00:00",
"t": "2025-08-09 00:00:00",
"i": 125.49,
"a": 128.01,
"g": 126.847
},
{
"t": "2025-07-16 00:00:00",
"t": "2025-08-08 00:00:00",
"i": 125.663,
"a": 128.305,
"g": 126.827
},
{
"t": "2025-07-15 00:00:00",
"t": "2025-08-07 00:00:00",
"i": 125.644,
"a": 128.292,
"g": 126.877
},
{
"t": "2025-07-14 00:00:00",
"t": "2025-08-06 00:00:00",
"i": 125.954,
"a": 128.188,
"g": 126.779
},
{
"t": "2025-07-13 00:00:00",
"t": "2025-08-05 00:00:00",
"i": 125.715,
"a": 127.931,
"g": 126.803
},
{
"t": "2025-07-12 00:00:00",
"t": "2025-08-04 00:00:00",
"i": 125.934,
"a": 127.942,
"g": 126.845

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,186 +1,186 @@
[
{
"t": "2025-08-11 00:00:00",
"t": "2025-09-03 00:00:00",
"i": 5.635,
"a": 5.746,
"g": 5.683
},
{
"t": "2025-08-10 00:00:00",
"t": "2025-09-02 00:00:00",
"i": 5.629,
"a": 5.739,
"g": 5.682
},
{
"t": "2025-08-09 00:00:00",
"t": "2025-09-01 00:00:00",
"i": 5.627,
"a": 5.745,
"g": 5.682
},
{
"t": "2025-08-08 00:00:00",
"t": "2025-08-31 00:00:00",
"i": 5.626,
"a": 5.737,
"g": 5.685
},
{
"t": "2025-08-07 00:00:00",
"t": "2025-08-30 00:00:00",
"i": 5.623,
"a": 5.744,
"g": 5.681
},
{
"t": "2025-08-06 00:00:00",
"t": "2025-08-29 00:00:00",
"i": 5.627,
"a": 5.739,
"g": 5.683
},
{
"t": "2025-08-05 00:00:00",
"t": "2025-08-28 00:00:00",
"i": 5.627,
"a": 5.743,
"g": 5.684
},
{
"t": "2025-08-04 00:00:00",
"t": "2025-08-27 00:00:00",
"i": 5.634,
"a": 5.751,
"g": 5.683
},
{
"t": "2025-08-03 00:00:00",
"t": "2025-08-26 00:00:00",
"i": 5.626,
"a": 5.741,
"g": 5.685
},
{
"t": "2025-08-02 00:00:00",
"t": "2025-08-25 00:00:00",
"i": 5.621,
"a": 5.749,
"g": 5.688
},
{
"t": "2025-08-01 00:00:00",
"t": "2025-08-24 00:00:00",
"i": 0,
"a": 5.748,
"g": 5.686
},
{
"t": "2025-07-31 00:00:00",
"t": "2025-08-23 00:00:00",
"i": 5.631,
"a": 5.75,
"g": 5.686
},
{
"t": "2025-07-30 00:00:00",
"t": "2025-08-22 00:00:00",
"i": 5.631,
"a": 5.745,
"g": 5.686
},
{
"t": "2025-07-29 00:00:00",
"t": "2025-08-21 00:00:00",
"i": 5.616,
"a": 5.761,
"g": 5.685
},
{
"t": "2025-07-28 00:00:00",
"t": "2025-08-20 00:00:00",
"i": 5.62,
"a": 5.754,
"g": 5.688
},
{
"t": "2025-07-27 00:00:00",
"t": "2025-08-19 00:00:00",
"i": 5.623,
"a": 5.75,
"g": 5.689
},
{
"t": "2025-07-26 00:00:00",
"t": "2025-08-18 00:00:00",
"i": 5.604,
"a": 5.75,
"g": 5.687
},
{
"t": "2025-07-25 00:00:00",
"t": "2025-08-17 00:00:00",
"i": 5.622,
"a": 5.759,
"g": 5.689
},
{
"t": "2025-07-24 00:00:00",
"t": "2025-08-16 00:00:00",
"i": 5.605,
"a": 5.741,
"g": 5.687
},
{
"t": "2025-07-23 00:00:00",
"t": "2025-08-15 00:00:00",
"i": 0,
"a": 5.755,
"g": 5.684
},
{
"t": "2025-07-22 00:00:00",
"t": "2025-08-14 00:00:00",
"i": 0,
"a": 5.752,
"g": 5.682
},
{
"t": "2025-07-21 00:00:00",
"t": "2025-08-13 00:00:00",
"i": 5.617,
"a": 5.745,
"g": 5.684
},
{
"t": "2025-07-20 00:00:00",
"t": "2025-08-12 00:00:00",
"i": 5.637,
"a": 5.744,
"g": 5.681
},
{
"t": "2025-07-19 00:00:00",
"t": "2025-08-11 00:00:00",
"i": 5.623,
"a": 5.757,
"g": 5.683
},
{
"t": "2025-07-18 00:00:00",
"t": "2025-08-10 00:00:00",
"i": 5.611,
"a": 5.744,
"g": 5.684
},
{
"t": "2025-07-17 00:00:00",
"t": "2025-08-09 00:00:00",
"i": 5.623,
"a": 5.752,
"g": 5.681
},
{
"t": "2025-07-16 00:00:00",
"t": "2025-08-08 00:00:00",
"i": 5.613,
"a": 5.746,
"g": 5.684
},
{
"t": "2025-07-15 00:00:00",
"t": "2025-08-07 00:00:00",
"i": 5.622,
"a": 5.755,
"g": 5.683
},
{
"t": "2025-07-14 00:00:00",
"t": "2025-08-06 00:00:00",
"i": 5.613,
"a": 5.742,
"g": 5.682
},
{
"t": "2025-07-13 00:00:00",
"t": "2025-08-05 00:00:00",
"i": 5.616,
"a": 5.749,
"g": 5.681
},
{
"t": "2025-07-12 00:00:00",
"t": "2025-08-04 00:00:00",
"i": 5.607,
"a": 5.746,
"g": 5.683

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,186 +1,186 @@
[
{
"t": "2025-08-11 00:00:00",
"t": "2025-09-03 00:00:00",
"i": -0.032,
"a": 0.035,
"g": 0.004
},
{
"t": "2025-08-10 00:00:00",
"t": "2025-09-02 00:00:00",
"i": -0.031,
"a": 0.036,
"g": 0.003
},
{
"t": "2025-08-09 00:00:00",
"t": "2025-09-01 00:00:00",
"i": -0.031,
"a": 0.039,
"g": 0.002
},
{
"t": "2025-08-08 00:00:00",
"t": "2025-08-31 00:00:00",
"i": -0.04,
"a": 0.047,
"g": 0.004
},
{
"t": "2025-08-07 00:00:00",
"t": "2025-08-30 00:00:00",
"i": -0.03,
"a": 0.042,
"g": 0.005
},
{
"t": "2025-08-06 00:00:00",
"t": "2025-08-29 00:00:00",
"i": -0.031,
"a": 0.044,
"g": 0.004
},
{
"t": "2025-08-05 00:00:00",
"t": "2025-08-28 00:00:00",
"i": -0.032,
"a": 0.045,
"g": 0.006
},
{
"t": "2025-08-04 00:00:00",
"t": "2025-08-27 00:00:00",
"i": -0.035,
"a": 0.039,
"g": 0.002
},
{
"t": "2025-08-03 00:00:00",
"t": "2025-08-26 00:00:00",
"i": -0.034,
"a": 0.043,
"g": 0.004
},
{
"t": "2025-08-02 00:00:00",
"t": "2025-08-25 00:00:00",
"i": -0.03,
"a": 0.041,
"g": 0.005
},
{
"t": "2025-08-01 00:00:00",
"t": "2025-08-24 00:00:00",
"i": -0.036,
"a": 0.04,
"g": 0.005
},
{
"t": "2025-07-31 00:00:00",
"t": "2025-08-23 00:00:00",
"i": -0.036,
"a": 0.046,
"g": 0.004
},
{
"t": "2025-07-30 00:00:00",
"t": "2025-08-22 00:00:00",
"i": -0.032,
"a": 0.05,
"g": 0.005
},
{
"t": "2025-07-29 00:00:00",
"t": "2025-08-21 00:00:00",
"i": -0.031,
"a": 0.047,
"g": 0.006
},
{
"t": "2025-07-28 00:00:00",
"t": "2025-08-20 00:00:00",
"i": -0.034,
"a": 0.043,
"g": 0.005
},
{
"t": "2025-07-27 00:00:00",
"t": "2025-08-19 00:00:00",
"i": -0.036,
"a": 0.042,
"g": 0.006
},
{
"t": "2025-07-26 00:00:00",
"t": "2025-08-18 00:00:00",
"i": -0.036,
"a": 0.047,
"g": 0.006
},
{
"t": "2025-07-25 00:00:00",
"t": "2025-08-17 00:00:00",
"i": -0.034,
"a": 0.047,
"g": 0.004
},
{
"t": "2025-07-24 00:00:00",
"t": "2025-08-16 00:00:00",
"i": -0.042,
"a": 0.044,
"g": 0.004
},
{
"t": "2025-07-23 00:00:00",
"t": "2025-08-15 00:00:00",
"i": -0.039,
"a": 0.042,
"g": 0.006
},
{
"t": "2025-07-22 00:00:00",
"t": "2025-08-14 00:00:00",
"i": -0.033,
"a": 0.046,
"g": 0.002
},
{
"t": "2025-07-21 00:00:00",
"t": "2025-08-13 00:00:00",
"i": -0.038,
"a": 0.052,
"g": 0.007
},
{
"t": "2025-07-20 00:00:00",
"t": "2025-08-12 00:00:00",
"i": -0.031,
"a": 0.038,
"g": 0.004
},
{
"t": "2025-07-19 00:00:00",
"t": "2025-08-11 00:00:00",
"i": -0.032,
"a": 0.04,
"g": 0.005
},
{
"t": "2025-07-18 00:00:00",
"t": "2025-08-10 00:00:00",
"i": -0.034,
"a": 0.039,
"g": 0.005
},
{
"t": "2025-07-17 00:00:00",
"t": "2025-08-09 00:00:00",
"i": -0.032,
"a": 0.039,
"g": 0.002
},
{
"t": "2025-07-16 00:00:00",
"t": "2025-08-08 00:00:00",
"i": -0.031,
"a": 0.038,
"g": 0.006
},
{
"t": "2025-07-15 00:00:00",
"t": "2025-08-07 00:00:00",
"i": -0.035,
"a": 0.044,
"g": 0.006
},
{
"t": "2025-07-14 00:00:00",
"t": "2025-08-06 00:00:00",
"i": -0.044,
"a": 0.044,
"g": 0.003
},
{
"t": "2025-07-13 00:00:00",
"t": "2025-08-05 00:00:00",
"i": -0.035,
"a": 0.042,
"g": 0.006
},
{
"t": "2025-07-12 00:00:00",
"t": "2025-08-04 00:00:00",
"i": -0.034,
"a": 0.04,
"g": 0.005

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,186 +1,186 @@
[
{
"t": "2025-08-11 00:00:00",
"t": "2025-09-03 00:00:00",
"i": -0.034,
"a": 0.036,
"g": 0.001
},
{
"t": "2025-08-10 00:00:00",
"t": "2025-09-02 00:00:00",
"i": -0.039,
"a": 0.038,
"g": 0.002
},
{
"t": "2025-08-09 00:00:00",
"t": "2025-09-01 00:00:00",
"i": -0.036,
"a": 0.036,
"g": 0.002
},
{
"t": "2025-08-08 00:00:00",
"t": "2025-08-31 00:00:00",
"i": -0.039,
"a": 0.038,
"g": 0.001
},
{
"t": "2025-08-07 00:00:00",
"t": "2025-08-30 00:00:00",
"i": -0.031,
"a": 0.043,
"g": 0.001
},
{
"t": "2025-08-06 00:00:00",
"t": "2025-08-29 00:00:00",
"i": -0.037,
"a": 0.037,
"g": 0.002
},
{
"t": "2025-08-05 00:00:00",
"t": "2025-08-28 00:00:00",
"i": -0.035,
"a": 0.039,
"g": 0.002
},
{
"t": "2025-08-04 00:00:00",
"t": "2025-08-27 00:00:00",
"i": -0.035,
"a": 0.049,
"g": 0.001
},
{
"t": "2025-08-03 00:00:00",
"t": "2025-08-26 00:00:00",
"i": -0.033,
"a": 0.041,
"g": 0.001
},
{
"t": "2025-08-02 00:00:00",
"t": "2025-08-25 00:00:00",
"i": -0.037,
"a": 0.042,
"g": 0.004
},
{
"t": "2025-08-01 00:00:00",
"t": "2025-08-24 00:00:00",
"i": -0.035,
"a": 0.039,
"g": 0.004
},
{
"t": "2025-07-31 00:00:00",
"t": "2025-08-23 00:00:00",
"i": -0.038,
"a": 0.047,
"g": 0.001
},
{
"t": "2025-07-30 00:00:00",
"t": "2025-08-22 00:00:00",
"i": -0.04,
"a": 0.042,
"g": 0.004
},
{
"t": "2025-07-29 00:00:00",
"t": "2025-08-21 00:00:00",
"i": -0.035,
"a": 0.043,
"g": 0.005
},
{
"t": "2025-07-28 00:00:00",
"t": "2025-08-20 00:00:00",
"i": -0.036,
"a": 0.047,
"g": 0.003
},
{
"t": "2025-07-27 00:00:00",
"t": "2025-08-19 00:00:00",
"i": -0.033,
"a": 0.041,
"g": 0.004
},
{
"t": "2025-07-26 00:00:00",
"t": "2025-08-18 00:00:00",
"i": -0.036,
"a": 0.044,
"g": 0.005
},
{
"t": "2025-07-25 00:00:00",
"t": "2025-08-17 00:00:00",
"i": -0.033,
"a": 0.042,
"g": 0.003
},
{
"t": "2025-07-24 00:00:00",
"t": "2025-08-16 00:00:00",
"i": -0.035,
"a": 0.041,
"g": 0.003
},
{
"t": "2025-07-23 00:00:00",
"t": "2025-08-15 00:00:00",
"i": -0.04,
"a": 0.041,
"g": 0.005
},
{
"t": "2025-07-22 00:00:00",
"t": "2025-08-14 00:00:00",
"i": -0.035,
"a": 0.041,
"g": 0.003
},
{
"t": "2025-07-21 00:00:00",
"t": "2025-08-13 00:00:00",
"i": -0.034,
"a": 0.042,
"g": 0.004
},
{
"t": "2025-07-20 00:00:00",
"t": "2025-08-12 00:00:00",
"i": -0.034,
"a": 0.04,
"g": 0.003
},
{
"t": "2025-07-19 00:00:00",
"t": "2025-08-11 00:00:00",
"i": -0.032,
"a": 0.038,
"g": 0.004
},
{
"t": "2025-07-18 00:00:00",
"t": "2025-08-10 00:00:00",
"i": -0.033,
"a": 0.038,
"g": 0.004
},
{
"t": "2025-07-17 00:00:00",
"t": "2025-08-09 00:00:00",
"i": -0.038,
"a": 0.043,
"g": 0.001
},
{
"t": "2025-07-16 00:00:00",
"t": "2025-08-08 00:00:00",
"i": -0.037,
"a": 0.039,
"g": 0.005
},
{
"t": "2025-07-15 00:00:00",
"t": "2025-08-07 00:00:00",
"i": -0.033,
"a": 0.037,
"g": 0.004
},
{
"t": "2025-07-14 00:00:00",
"t": "2025-08-06 00:00:00",
"i": -0.036,
"a": 0.036,
"g": 0.002
},
{
"t": "2025-07-13 00:00:00",
"t": "2025-08-05 00:00:00",
"i": -0.033,
"a": 0.042,
"g": 0.003
},
{
"t": "2025-07-12 00:00:00",
"t": "2025-08-04 00:00:00",
"i": -0.044,
"a": 0.039,
"g": 0.004

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,142 @@
[
{
"t": "2025-09-03 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-09-02 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-09-01 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-31 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-30 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-29 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-28 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-27 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-26 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-25 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-24 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-23 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-22 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-21 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-20 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-19 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-18 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-17 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-16 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-15 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-14 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-13 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-12 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-11 00:00:00",
"i": 0,
@@ -46,143 +184,5 @@
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-03 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-02 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-01 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-31 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-30 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-29 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-28 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-27 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-26 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-25 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-24 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-23 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-22 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-21 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-20 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-19 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-18 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-17 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-16 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-15 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-14 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-13 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-12 00:00:00",
"i": 0,
"a": 0,
"g": 0
}
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,142 @@
[
{
"t": "2025-09-03 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-09-02 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-09-01 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-31 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-30 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-29 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-28 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-27 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-26 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-25 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-24 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-23 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-22 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-21 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-20 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-19 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-18 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-17 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-16 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-15 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-14 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-13 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-12 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-11 00:00:00",
"i": 0,
@@ -46,143 +184,5 @@
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-03 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-02 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-01 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-31 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-30 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-29 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-28 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-27 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-26 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-25 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-24 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-23 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-22 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-21 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-20 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-19 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-18 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-17 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-16 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-15 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-14 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-13 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-12 00:00:00",
"i": 0,
"a": 0,
"g": 0
}
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,142 @@
[
{
"t": "2025-09-03 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-09-02 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-09-01 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-31 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-30 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-29 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-28 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-27 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-26 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-25 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-24 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-23 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-22 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-21 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-20 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-19 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-18 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-17 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-16 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-15 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-14 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-13 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-12 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-11 00:00:00",
"i": 0,
@@ -46,143 +184,5 @@
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-03 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-02 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-01 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-31 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-30 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-29 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-28 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-27 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-26 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-25 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-24 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-23 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-22 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-21 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-20 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-19 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-18 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-17 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-16 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-15 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-14 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-13 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-12 00:00:00",
"i": 0,
"a": 0,
"g": 0
}
]

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -1,4 +1,142 @@
[
{
"t": "2025-09-03 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-09-02 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-09-01 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-31 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-30 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-29 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-28 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-27 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-26 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-25 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-24 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-23 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-22 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-21 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-20 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-19 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-18 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-17 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-16 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-15 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-14 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-13 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-12 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-11 00:00:00",
"i": 0,
@@ -46,143 +184,5 @@
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-03 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-02 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-08-01 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-31 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-30 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-29 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-28 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-27 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-26 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-25 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-24 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-23 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-22 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-21 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-20 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-19 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-18 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-17 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-16 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-15 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-14 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-13 00:00:00",
"i": 0,
"a": 0,
"g": 0
},
{
"t": "2025-07-12 00:00:00",
"i": 0,
"a": 0,
"g": 0
}
]

View File

@@ -0,0 +1,205 @@
#!/usr/bin/env node
/**
* Retime mock chart data so the newest entry is "today" and older entries are shifted accordingly.
*
* Files handled:
* - DIA0.json: high-resolution data with many entries, each having a "t" timestamp.
* Strategy: keep original intervals by computing deltas from the first item and rebase to today's date
* at the time-of-day of the original first item.
* - DIA1.json: typically contains only values (no "t"). We skip if no "t" exists.
* - DIA2.json: daily aggregation with "t" at 00:00:00. Strategy: set top item to today 00:00:00,
* then each subsequent item to one day earlier.
*
* Usage:
* node ./mocks/scripts/retimeAnalogInputs.mjs [target]
* target options:
* - all -> process all slots under analogInputs
* - <n> -> process slot n (e.g., 1 .. 8)
* - <path/to/slotDir> -> process the given directory containing DIA*.json
* Default: all slots under mocks/device-cgi-simulator/chartsData/analogInputs
*/
import fs from "node:fs/promises";
import path from "node:path";
import { fileURLToPath } from "node:url";
const __filename = fileURLToPath(import.meta.url);
const __dirname = path.dirname(__filename);
const workspaceRoot = path.resolve(__dirname, "../..");
function pad(n) {
return String(n).padStart(2, "0");
}
function formatDate(d) {
const yyyy = d.getFullYear();
const MM = pad(d.getMonth() + 1);
const dd = pad(d.getDate());
const hh = pad(d.getHours());
const mm = pad(d.getMinutes());
const ss = pad(d.getSeconds());
return `${yyyy}-${MM}-${dd} ${hh}:${mm}:${ss}`;
}
function parseDateTime(str) {
// Expecting "YYYY-MM-DD HH:mm:ss"
// Replace space with 'T' to ensure consistent parsing without timezone conversion.
// We treat times as local; constructing a Date with year, month-1, day, hours, mins, secs is safer.
const m = str.match(/(\d{4})-(\d{2})-(\d{2})\s+(\d{2}):(\d{2}):(\d{2})/);
if (!m) return new Date(str);
const [, y, mo, d, h, mi, s] = m.map(Number);
return new Date(y, mo - 1, d, h, mi, s, 0);
}
function withTodayDateAndTimeOf(baseTime) {
const today = new Date();
const d = new Date(
today.getFullYear(),
today.getMonth(),
today.getDate(),
baseTime.getHours(),
baseTime.getMinutes(),
baseTime.getSeconds(),
0
);
return d;
}
async function readJson(filePath) {
const raw = await fs.readFile(filePath, "utf-8");
return JSON.parse(raw);
}
async function writeJson(filePath, data) {
const content = JSON.stringify(data, null, 2);
await fs.writeFile(filePath, content + "\n", "utf-8");
}
async function retimeDIA0(filePath) {
const arr = await readJson(filePath);
if (!Array.isArray(arr) || arr.length === 0) return false;
if (!("t" in arr[0])) return false;
// Compute deltas from first item's timestamp
const t0 = parseDateTime(arr[0].t);
const newBase = withTodayDateAndTimeOf(t0);
const t0ms = t0.getTime();
const updated = arr.map((item) => {
if (!item.t) return item; // leave untouched
const ti = parseDateTime(item.t).getTime();
const delta = t0ms - ti; // ms to subtract from base
const newDate = new Date(newBase.getTime() - delta);
return { ...item, t: formatDate(newDate) };
});
await writeJson(filePath, updated);
return true;
}
async function retimeDIA2(filePath) {
const arr = await readJson(filePath);
if (!Array.isArray(arr) || arr.length === 0) return false;
if (!("t" in arr[0])) return false;
const todayMidnight = new Date();
todayMidnight.setHours(0, 0, 0, 0);
const updated = arr.map((item, idx) => {
const d = new Date(todayMidnight.getTime() - idx * 24 * 60 * 60 * 1000);
return { ...item, t: formatDate(d) };
});
await writeJson(filePath, updated);
return true;
}
async function maybeLogSkip(filePath, reason) {
console.log(`[skip] ${path.basename(filePath)}: ${reason}`);
}
async function processSlotDir(targetDir) {
const dia0 = path.join(targetDir, "DIA0.json");
const dia1 = path.join(targetDir, "DIA1.json");
const dia2 = path.join(targetDir, "DIA2.json");
// DIA0
try {
const changed = await retimeDIA0(dia0);
if (!changed) await maybeLogSkip(dia0, "no data or no t field");
else console.log(`[ok] Updated ${path.basename(dia0)}`);
} catch (e) {
console.error(`[error] ${path.basename(dia0)}:`, e.message);
}
// DIA1: usually no 't' -> skip gracefully. If it has 't', treat like DIA0 (keep intervals)
try {
const arr = await readJson(dia1);
if (Array.isArray(arr) && arr.length && "t" in arr[0]) {
const changed = await retimeDIA0(dia1);
if (changed) console.log(`[ok] Updated ${path.basename(dia1)}`);
else await maybeLogSkip(dia1, "no data or no t field");
} else {
await maybeLogSkip(dia1, "no t field present");
}
} catch (e) {
console.error(`[error] ${path.basename(dia1)}:`, e.message);
}
// DIA2
try {
const changed = await retimeDIA2(dia2);
if (!changed) await maybeLogSkip(dia2, "no data or no t field");
else console.log(`[ok] Updated ${path.basename(dia2)}`);
} catch (e) {
console.error(`[error] ${path.basename(dia2)}:`, e.message);
}
}
async function main() {
try {
const arg = process.argv[2];
const analogBase = path.resolve(
workspaceRoot,
"mocks/device-cgi-simulator/chartsData/analogInputs"
);
let targets = [];
if (!arg || arg === "all") {
// process all numeric slot directories under analogInputs
const entries = await fs.readdir(analogBase, { withFileTypes: true });
targets = entries
.filter((e) => e.isDirectory() && /^\d+$/.test(e.name))
.map((e) => path.join(analogBase, e.name))
.sort((a, b) => Number(path.basename(a)) - Number(path.basename(b)));
} else if (/^\d+$/.test(arg)) {
targets = [path.join(analogBase, arg)];
} else {
// treat as a path
const p = path.isAbsolute(arg) ? arg : path.resolve(workspaceRoot, arg);
targets = [p];
}
if (!targets.length) {
console.log("No analog input slot directories found.");
return;
}
for (const dir of targets) {
try {
await fs.access(dir);
} catch {
console.log(`[skip] ${dir}: not found`);
continue;
}
console.log(`\n=== Processing slot: ${path.basename(dir)} ===`);
await processSlotDir(dir);
}
} catch (err) {
console.error("Failed to retime analog input data:", err);
process.exitCode = 1;
}
}
await main();

4
package-lock.json generated
View File

@@ -1,12 +1,12 @@
{
"name": "cpl-v4",
"version": "1.6.825",
"version": "1.6.826",
"lockfileVersion": 3,
"requires": true,
"packages": {
"": {
"name": "cpl-v4",
"version": "1.6.825",
"version": "1.6.826",
"dependencies": {
"@fontsource/roboto": "^5.1.0",
"@headlessui/react": "^2.2.4",

View File

@@ -1,6 +1,6 @@
{
"name": "cpl-v4",
"version": "1.6.825",
"version": "1.6.826",
"private": true,
"scripts": {
"dev": "next dev -p 3000",
@@ -24,7 +24,9 @@
"bump-version": "node ./scripts/bumpVersion.js",
"mocks:cable": "node ./mocks/scripts/fetchCableData.mjs --insecure",
"mocks:cable:range": "node ./mocks/scripts/fetchCableData.mjs --from %FROM% --to %TO% --insecure",
"mocks:cable:slot": "node ./mocks/scripts/fetchCableData.mjs --slots %SLOTS% --insecure"
"mocks:cable:slot": "node ./mocks/scripts/fetchCableData.mjs --slots %SLOTS% --insecure",
"mocks:retime:ai": "node ./mocks/scripts/retimeAnalogInputs.mjs all",
"mocks:retime:ai:slot": "node ./mocks/scripts/retimeAnalogInputs.mjs %SLOT%"
},
"dependencies": {
"@fontsource/roboto": "^5.1.0",