node-red-contrib-me-vplc 1.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (37) hide show
  1. package/README.md +42 -0
  2. package/me-vplc.html +64 -0
  3. package/me-vplc.js +603 -0
  4. package/package.json +26 -0
  5. package/project/README.md +1052 -0
  6. package/project/START_ME_VPLC.cmd +176 -0
  7. package/project/backend/active_project.json +3 -0
  8. package/project/backend/app.py +839 -0
  9. package/project/backend/connector_runtime.py +585 -0
  10. package/project/backend/requirements.txt +3 -0
  11. package/project/backend/st_compiler.py +1415 -0
  12. package/project/frontend/index.html +12 -0
  13. package/project/frontend/package.json +18 -0
  14. package/project/frontend/src/App.jsx +631 -0
  15. package/project/frontend/src/style.css +964 -0
  16. package/project/frontend/vite.config.js +14 -0
  17. package/wheelhouse/Flask_Cors-4.0.1-py2.py3-none-any.whl +0 -0
  18. package/wheelhouse/blinker-1.9.0-py3-none-any.whl +0 -0
  19. package/wheelhouse/click-8.3.3-py3-none-any.whl +0 -0
  20. package/wheelhouse/colorama-0.4.6-py2.py3-none-any.whl +0 -0
  21. package/wheelhouse/flask-3.0.3-py3-none-any.whl +0 -0
  22. package/wheelhouse/itsdangerous-2.2.0-py3-none-any.whl +0 -0
  23. package/wheelhouse/jinja2-3.1.6-py3-none-any.whl +0 -0
  24. package/wheelhouse/markupsafe-3.0.3-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl +0 -0
  25. package/wheelhouse/markupsafe-3.0.3-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl +0 -0
  26. package/wheelhouse/markupsafe-3.0.3-cp310-cp310-win_amd64.whl +0 -0
  27. package/wheelhouse/markupsafe-3.0.3-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl +0 -0
  28. package/wheelhouse/markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl +0 -0
  29. package/wheelhouse/markupsafe-3.0.3-cp311-cp311-win_amd64.whl +0 -0
  30. package/wheelhouse/markupsafe-3.0.3-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl +0 -0
  31. package/wheelhouse/markupsafe-3.0.3-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl +0 -0
  32. package/wheelhouse/markupsafe-3.0.3-cp312-cp312-win_amd64.whl +0 -0
  33. package/wheelhouse/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl +0 -0
  34. package/wheelhouse/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl +0 -0
  35. package/wheelhouse/markupsafe-3.0.3-cp313-cp313-win_amd64.whl +0 -0
  36. package/wheelhouse/pymodbus-3.6.9-py3-none-any.whl +0 -0
  37. package/wheelhouse/werkzeug-3.1.8-py3-none-any.whl +0 -0
@@ -0,0 +1,176 @@
1
+ @echo off
2
+ setlocal EnableExtensions EnableDelayedExpansion
3
+
4
+ set "ROOT=%~dp0"
5
+ set "BACKEND_DIR=%ROOT%backend"
6
+ set "FRONTEND_DIR=%ROOT%frontend"
7
+ set "BACKEND_URL=http://127.0.0.1:5000/api/status"
8
+ set "FRONTEND_URL=http://127.0.0.1:5173"
9
+
10
+ title ME vPLC Starter
11
+ cd /d "%ROOT%"
12
+
13
+ echo ================================================================
14
+ echo ME vPLC - Starter
15
+ echo ================================================================
16
+ echo Projektordner: %ROOT%
17
+ echo Backend: %BACKEND_URL%
18
+ echo Frontend: %FRONTEND_URL%
19
+ echo.
20
+
21
+ rem ---------------------------------------------------------------
22
+ rem 1) Python finden
23
+ rem ---------------------------------------------------------------
24
+ set "PYTHON_CMD="
25
+ where py >nul 2>nul
26
+ if not errorlevel 1 set "PYTHON_CMD=py -3"
27
+
28
+ if not defined PYTHON_CMD (
29
+ where python >nul 2>nul
30
+ if not errorlevel 1 set "PYTHON_CMD=python"
31
+ )
32
+
33
+ if not defined PYTHON_CMD (
34
+ echo FEHLER: Python 3 wurde nicht gefunden.
35
+ echo Bitte Python installieren und die Option "Add python.exe to PATH" aktivieren.
36
+ echo.
37
+ pause
38
+ exit /b 1
39
+ )
40
+
41
+ echo [1/7] Python gefunden: %PYTHON_CMD%
42
+
43
+ rem ---------------------------------------------------------------
44
+ rem 2) Backend Virtual Environment erstellen
45
+ rem ---------------------------------------------------------------
46
+ cd /d "%BACKEND_DIR%"
47
+
48
+ if not exist ".venv\Scripts\python.exe" (
49
+ echo [2/7] Erstelle Backend Virtual Environment ...
50
+ %PYTHON_CMD% -m venv .venv
51
+ if errorlevel 1 (
52
+ echo.
53
+ echo FEHLER: Backend Virtual Environment konnte nicht erstellt werden.
54
+ echo Bitte pruefen, ob Python korrekt installiert ist.
55
+ echo.
56
+ pause
57
+ exit /b 1
58
+ )
59
+ ) else (
60
+ echo [2/7] Backend Virtual Environment vorhanden.
61
+ )
62
+
63
+ rem ---------------------------------------------------------------
64
+ rem 3) Backend Dependencies installieren/pruefen
65
+ rem ---------------------------------------------------------------
66
+ echo [3/7] Installiere/pruefe Backend Dependencies ...
67
+ "%BACKEND_DIR%\.venv\Scripts\python.exe" -m pip install -r "%BACKEND_DIR%\requirements.txt"
68
+ if errorlevel 1 (
69
+ echo.
70
+ echo FEHLER: Backend Dependencies konnten nicht installiert werden.
71
+ echo Ursache ist meistens fehlendes Internet, Proxy, Firewall oder ein Python/PIP Problem.
72
+ echo.
73
+ pause
74
+ exit /b 1
75
+ )
76
+
77
+ rem ---------------------------------------------------------------
78
+ rem 4) NPM pruefen
79
+ rem ---------------------------------------------------------------
80
+ where npm >nul 2>nul
81
+ if errorlevel 1 (
82
+ echo.
83
+ echo FEHLER: npm wurde nicht gefunden.
84
+ echo Bitte Node.js LTS installieren und danach diese CMD erneut starten.
85
+ echo.
86
+ pause
87
+ exit /b 1
88
+ )
89
+
90
+ echo [4/7] npm gefunden.
91
+
92
+ rem ---------------------------------------------------------------
93
+ rem 5) Frontend Dependencies installieren/pruefen
94
+ rem ---------------------------------------------------------------
95
+ cd /d "%FRONTEND_DIR%"
96
+
97
+ if not exist "package.json" (
98
+ echo.
99
+ echo FEHLER: frontend\package.json wurde nicht gefunden.
100
+ echo Das Projekt ist unvollstaendig. Bitte ZIP erneut entpacken oder Projektstruktur pruefen.
101
+ echo Erwarteter Pfad: %FRONTEND_DIR%\package.json
102
+ echo.
103
+ pause
104
+ exit /b 1
105
+ )
106
+
107
+ if not exist "node_modules\.vite" (
108
+ echo [5/7] Installiere Frontend Dependencies ...
109
+ call npm install
110
+ if errorlevel 1 (
111
+ echo.
112
+ echo FEHLER: Frontend Dependencies konnten nicht installiert werden.
113
+ echo Ursache ist meistens fehlendes Internet, Proxy, Firewall oder ein Node/NPM Problem.
114
+ echo.
115
+ pause
116
+ exit /b 1
117
+ )
118
+ ) else (
119
+ echo [5/7] Frontend Dependencies vorhanden.
120
+ )
121
+
122
+ rem ---------------------------------------------------------------
123
+ rem 6) Backend starten
124
+ rem ---------------------------------------------------------------
125
+ echo [6/7] Starte Backend ...
126
+ start "ME vPLC Backend" /D "%BACKEND_DIR%" "%COMSPEC%" /k ""%BACKEND_DIR%\.venv\Scripts\python.exe" "%BACKEND_DIR%\app.py""
127
+
128
+ call :WAIT_FOR_URL "%BACKEND_URL%" 40
129
+ if errorlevel 1 (
130
+ echo.
131
+ echo FEHLER: Backend ist nicht erreichbar.
132
+ echo Bitte das Fenster "ME vPLC Backend" pruefen.
133
+ echo.
134
+ pause
135
+ exit /b 1
136
+ )
137
+
138
+ echo Backend ist erreichbar.
139
+
140
+ rem ---------------------------------------------------------------
141
+ rem 7) Frontend starten
142
+ rem ---------------------------------------------------------------
143
+ echo [7/7] Starte Frontend ...
144
+ start "ME vPLC Frontend" /D "%FRONTEND_DIR%" "%COMSPEC%" /k "npm run dev"
145
+
146
+ call :WAIT_FOR_URL "%FRONTEND_URL%" 60
147
+ if errorlevel 1 (
148
+ echo.
149
+ echo FEHLER: Frontend ist nicht erreichbar.
150
+ echo Bitte das Fenster "ME vPLC Frontend" pruefen.
151
+ echo.
152
+ pause
153
+ exit /b 1
154
+ )
155
+
156
+ echo Frontend ist erreichbar.
157
+ start "" "%FRONTEND_URL%"
158
+
159
+ echo.
160
+ echo Start erfolgreich abgeschlossen.
161
+ echo Backend und Frontend laufen in separaten Fenstern.
162
+ echo.
163
+ pause
164
+ exit /b 0
165
+
166
+ :WAIT_FOR_URL
167
+ set "CHECK_URL=%~1"
168
+ set "MAX_SECONDS=%~2"
169
+ set /a COUNT=0
170
+ :WAIT_LOOP
171
+ powershell -NoProfile -ExecutionPolicy Bypass -Command "try { $r = Invoke-WebRequest -Uri '%CHECK_URL%' -UseBasicParsing -TimeoutSec 2; if ($r.StatusCode -ge 200 -and $r.StatusCode -lt 500) { exit 0 } else { exit 1 } } catch { exit 1 }" >nul 2>nul
172
+ if not errorlevel 1 exit /b 0
173
+ set /a COUNT+=1
174
+ if !COUNT! GEQ %MAX_SECONDS% exit /b 1
175
+ timeout /t 1 /nobreak >nul
176
+ goto WAIT_LOOP
@@ -0,0 +1,3 @@
1
+ {
2
+ "active_project": "Original"
3
+ }