iobroker.mywebui 1.170.0 → 1.173.1

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 (239) hide show
  1. package/README.md +1933 -1921
  2. package/default-controls/controls/dialog/confirm-dialog.control +15 -0
  3. package/dist/backend/3d-editor-integration.js +1 -1
  4. package/dist/backend/main.js +1 -1
  5. package/dist/backend/protectedWrite.js +1 -0
  6. package/dist/backend/reportCsv.js +1 -1
  7. package/dist/backend/reportGenerate.js +1 -1
  8. package/dist/backend/reportOutput.js +1 -1
  9. package/dist/backend/reportPdf.js +1 -1
  10. package/dist/backend/reportRenderer.js +1 -1
  11. package/dist/backend/reportSandbox.js +1 -1
  12. package/dist/backend/reportSandboxWorker.js +1 -1
  13. package/docs/README.md +1 -0
  14. package/docs/confirm-protect.md +84 -0
  15. package/docs/permissions.md +3 -0
  16. package/docs/translations.md +4 -1
  17. package/io-package.json +1 -1
  18. package/native/mywebui_scada_engine.win32-x64-msvc.node +0 -0
  19. package/package.json +1 -1
  20. package/webExtension.cjs +74 -0
  21. package/www/3d-editor/js/Animation.js +1 -1
  22. package/www/3d-editor/js/AnimationResizer.js +1 -1
  23. package/www/3d-editor/js/Command.js +1 -1
  24. package/www/3d-editor/js/Config.js +1 -1
  25. package/www/3d-editor/js/Editor.js +1 -1
  26. package/www/3d-editor/js/EditorControls.js +1 -1
  27. package/www/3d-editor/js/GLTFImportDialog.js +1 -1
  28. package/www/3d-editor/js/History.js +1 -1
  29. package/www/3d-editor/js/Loader.js +1 -1
  30. package/www/3d-editor/js/LoaderUtils.js +1 -1
  31. package/www/3d-editor/js/Menubar.Add.js +1 -1
  32. package/www/3d-editor/js/Menubar.Edit.js +1 -1
  33. package/www/3d-editor/js/Menubar.File.js +1 -1
  34. package/www/3d-editor/js/Menubar.Help.js +1 -1
  35. package/www/3d-editor/js/Menubar.Render.js +1 -1
  36. package/www/3d-editor/js/Menubar.Status.js +1 -1
  37. package/www/3d-editor/js/Menubar.View.js +1 -1
  38. package/www/3d-editor/js/Menubar.js +1 -1
  39. package/www/3d-editor/js/Player.js +1 -1
  40. package/www/3d-editor/js/Resizer.js +1 -1
  41. package/www/3d-editor/js/Script.js +1 -1
  42. package/www/3d-editor/js/Selector.js +1 -1
  43. package/www/3d-editor/js/Sidebar.Geometry.BoxGeometry.js +1 -1
  44. package/www/3d-editor/js/Sidebar.Geometry.BufferGeometry.js +1 -1
  45. package/www/3d-editor/js/Sidebar.Geometry.CapsuleGeometry.js +1 -1
  46. package/www/3d-editor/js/Sidebar.Geometry.CircleGeometry.js +1 -1
  47. package/www/3d-editor/js/Sidebar.Geometry.CylinderGeometry.js +1 -1
  48. package/www/3d-editor/js/Sidebar.Geometry.DodecahedronGeometry.js +1 -1
  49. package/www/3d-editor/js/Sidebar.Geometry.ExtrudeGeometry.js +1 -1
  50. package/www/3d-editor/js/Sidebar.Geometry.IcosahedronGeometry.js +1 -1
  51. package/www/3d-editor/js/Sidebar.Geometry.LatheGeometry.js +1 -1
  52. package/www/3d-editor/js/Sidebar.Geometry.Modifiers.js +1 -1
  53. package/www/3d-editor/js/Sidebar.Geometry.OctahedronGeometry.js +1 -1
  54. package/www/3d-editor/js/Sidebar.Geometry.PlaneGeometry.js +1 -1
  55. package/www/3d-editor/js/Sidebar.Geometry.RingGeometry.js +1 -1
  56. package/www/3d-editor/js/Sidebar.Geometry.ShapeGeometry.js +1 -1
  57. package/www/3d-editor/js/Sidebar.Geometry.SphereGeometry.js +1 -1
  58. package/www/3d-editor/js/Sidebar.Geometry.TetrahedronGeometry.js +1 -1
  59. package/www/3d-editor/js/Sidebar.Geometry.TextGeometry.js +1 -1
  60. package/www/3d-editor/js/Sidebar.Geometry.TorusGeometry.js +1 -1
  61. package/www/3d-editor/js/Sidebar.Geometry.TorusKnotGeometry.js +1 -1
  62. package/www/3d-editor/js/Sidebar.Geometry.TubeGeometry.js +1 -1
  63. package/www/3d-editor/js/Sidebar.Geometry.js +1 -1
  64. package/www/3d-editor/js/Sidebar.Material.BooleanProperty.js +1 -1
  65. package/www/3d-editor/js/Sidebar.Material.ColorProperty.js +1 -1
  66. package/www/3d-editor/js/Sidebar.Material.ConstantProperty.js +1 -1
  67. package/www/3d-editor/js/Sidebar.Material.MapProperty.js +1 -1
  68. package/www/3d-editor/js/Sidebar.Material.NumberProperty.js +1 -1
  69. package/www/3d-editor/js/Sidebar.Material.Program.js +1 -1
  70. package/www/3d-editor/js/Sidebar.Material.RangeValueProperty.js +1 -1
  71. package/www/3d-editor/js/Sidebar.Material.js +1 -1
  72. package/www/3d-editor/js/Sidebar.Object.js +1 -1
  73. package/www/3d-editor/js/Sidebar.Project.App.js +1 -1
  74. package/www/3d-editor/js/Sidebar.Project.Materials.js +1 -1
  75. package/www/3d-editor/js/Sidebar.Project.Renderer.js +1 -1
  76. package/www/3d-editor/js/Sidebar.Project.Resources.js +1 -1
  77. package/www/3d-editor/js/Sidebar.Project.js +1 -1
  78. package/www/3d-editor/js/Sidebar.Properties.js +1 -1
  79. package/www/3d-editor/js/Sidebar.Scene.js +1 -1
  80. package/www/3d-editor/js/Sidebar.Script.js +1 -1
  81. package/www/3d-editor/js/Sidebar.Settings.History.js +1 -1
  82. package/www/3d-editor/js/Sidebar.Settings.Shortcuts.js +1 -1
  83. package/www/3d-editor/js/Sidebar.Settings.js +1 -1
  84. package/www/3d-editor/js/Sidebar.js +1 -1
  85. package/www/3d-editor/js/Storage.js +1 -1
  86. package/www/3d-editor/js/Strings.js +1 -1
  87. package/www/3d-editor/js/TextureParametersDialog.js +1 -1
  88. package/www/3d-editor/js/Toolbar.js +1 -1
  89. package/www/3d-editor/js/Viewport.Controls.js +1 -1
  90. package/www/3d-editor/js/Viewport.Info.js +1 -1
  91. package/www/3d-editor/js/Viewport.Pathtracer.js +1 -1
  92. package/www/3d-editor/js/Viewport.ViewHelper.js +1 -1
  93. package/www/3d-editor/js/Viewport.XR.js +1 -1
  94. package/www/3d-editor/js/Viewport.js +1 -1
  95. package/www/3d-editor/js/commands/AddObjectCommand.js +1 -1
  96. package/www/3d-editor/js/commands/AddScriptCommand.js +1 -1
  97. package/www/3d-editor/js/commands/Commands.js +1 -1
  98. package/www/3d-editor/js/commands/MoveObjectCommand.js +1 -1
  99. package/www/3d-editor/js/commands/MultiCmdsCommand.js +1 -1
  100. package/www/3d-editor/js/commands/RemoveObjectCommand.js +1 -1
  101. package/www/3d-editor/js/commands/RemoveScriptCommand.js +1 -1
  102. package/www/3d-editor/js/commands/SetColorCommand.js +1 -1
  103. package/www/3d-editor/js/commands/SetGeometryCommand.js +1 -1
  104. package/www/3d-editor/js/commands/SetGeometryValueCommand.js +1 -1
  105. package/www/3d-editor/js/commands/SetMaterialColorCommand.js +1 -1
  106. package/www/3d-editor/js/commands/SetMaterialCommand.js +1 -1
  107. package/www/3d-editor/js/commands/SetMaterialMapCommand.js +1 -1
  108. package/www/3d-editor/js/commands/SetMaterialRangeCommand.js +1 -1
  109. package/www/3d-editor/js/commands/SetMaterialValueCommand.js +1 -1
  110. package/www/3d-editor/js/commands/SetMaterialVectorCommand.js +1 -1
  111. package/www/3d-editor/js/commands/SetPositionCommand.js +1 -1
  112. package/www/3d-editor/js/commands/SetRotationCommand.js +1 -1
  113. package/www/3d-editor/js/commands/SetScaleCommand.js +1 -1
  114. package/www/3d-editor/js/commands/SetSceneCommand.js +1 -1
  115. package/www/3d-editor/js/commands/SetScriptValueCommand.js +1 -1
  116. package/www/3d-editor/js/commands/SetShadowValueCommand.js +1 -1
  117. package/www/3d-editor/js/commands/SetTextureParametersCommand.js +1 -1
  118. package/www/3d-editor/js/commands/SetUuidCommand.js +1 -1
  119. package/www/3d-editor/js/commands/SetValueCommand.js +1 -1
  120. package/www/dist/frontend/bundle/HistoryDirectives-2D3MY36Q.js +1 -0
  121. package/www/dist/frontend/bundle/ReportViewer-VIW3KLIA.js +197 -0
  122. package/www/dist/frontend/bundle/Sha256-BSH7CIPW.js +1 -1
  123. package/www/dist/frontend/bundle/chunk-IFBVYILO.js +1 -0
  124. package/www/dist/frontend/bundle/chunk-KVPT4J7H.js +1 -1
  125. package/www/dist/frontend/bundle/chunk-YBPYQWW6.js +21 -0
  126. package/www/dist/frontend/bundle/common/IobrokerHandler.js +1 -1
  127. package/www/dist/frontend/bundle/runtime/CustomControls.js +1 -1
  128. package/www/dist/frontend/bundle/runtime/ScreenViewer.js +1 -1
  129. package/www/dist/frontend/bundle/runtime/controls.js +3 -3
  130. package/www/dist/frontend/bundle/runtime/init.js +3 -3
  131. package/www/dist/frontend/common/BindingExpression.js +1 -1
  132. package/www/dist/frontend/common/BuiltinTranslations.js +1 -1
  133. package/www/dist/frontend/common/Common.globals.js +1 -1
  134. package/www/dist/frontend/common/ConfirmWrite.js +1 -0
  135. package/www/dist/frontend/common/EChartsOption.js +1 -1
  136. package/www/dist/frontend/common/HistoryDirective.js +1 -1
  137. package/www/dist/frontend/common/HistoryOptions.js +1 -1
  138. package/www/dist/frontend/common/HistoryQuery.js +1 -1
  139. package/www/dist/frontend/common/HistoryQueryViews.js +1 -1
  140. package/www/dist/frontend/common/IobrokerHandler.js +1 -1
  141. package/www/dist/frontend/common/PlantPaxResolve.js +1 -1
  142. package/www/dist/frontend/common/ReadQuality.js +1 -1
  143. package/www/dist/frontend/common/ReportAllowlist.js +1 -1
  144. package/www/dist/frontend/common/ReportSchedule.js +1 -1
  145. package/www/dist/frontend/common/ReportTheme.js +1 -1
  146. package/www/dist/frontend/common/Runtime.js +1 -1
  147. package/www/dist/frontend/common/Sha256.js +1 -1
  148. package/www/dist/frontend/common/StateDiagnostics.js +1 -1
  149. package/www/dist/frontend/common/StateQuality.js +1 -1
  150. package/www/dist/frontend/common/WriteFeedback.js +1 -1
  151. package/www/dist/frontend/config/CommandHandling.js +1 -1
  152. package/www/dist/frontend/config/ConfigureWebcomponentDesigner.js +1 -1
  153. package/www/dist/frontend/config/ConfirmWindow.js +1 -0
  154. package/www/dist/frontend/config/DockHelper.js +1 -1
  155. package/www/dist/frontend/config/HistoryQueryWindow.js +1 -1
  156. package/www/dist/frontend/config/IobrokerWebui3DDriveEngine.js +1 -1
  157. package/www/dist/frontend/config/IobrokerWebui3DScreenEditor.js +3 -3
  158. package/www/dist/frontend/config/IobrokerWebui3DScreenPropertiesPanel.js +3 -3
  159. package/www/dist/frontend/config/IobrokerWebui3DScreenViewer.js +3 -3
  160. package/www/dist/frontend/config/IobrokerWebuiAppShell.js +8 -4
  161. package/www/dist/frontend/config/IobrokerWebuiBindingsEditor.js +1 -1
  162. package/www/dist/frontend/config/IobrokerWebuiConfirmationWrapper.js +3 -3
  163. package/www/dist/frontend/config/IobrokerWebuiControlPropertiesEditor.js +2 -2
  164. package/www/dist/frontend/config/IobrokerWebuiDynamicPropsEditor.js +1 -1
  165. package/www/dist/frontend/config/IobrokerWebuiEventAssignment.js +1 -1
  166. package/www/dist/frontend/config/IobrokerWebuiIconsView.js +3 -3
  167. package/www/dist/frontend/config/IobrokerWebuiMonacoEditor.js +3 -3
  168. package/www/dist/frontend/config/IobrokerWebuiPlantPaxTypesEditor.js +1 -1
  169. package/www/dist/frontend/config/IobrokerWebuiPropertyGrid.js +1 -1
  170. package/www/dist/frontend/config/IobrokerWebuiScreenEditor.js +1 -1
  171. package/www/dist/frontend/config/IobrokerWebuiScreensView.js +3 -3
  172. package/www/dist/frontend/config/IobrokerWebuiSecurityEditor.js +1 -1
  173. package/www/dist/frontend/config/IobrokerWebuiSignalPropertyEditor.js +1 -1
  174. package/www/dist/frontend/config/IobrokerWebuiSolutionExplorer.js +3 -3
  175. package/www/dist/frontend/config/IobrokerWebuiTranslationEditor.js +1 -1
  176. package/www/dist/frontend/config/IobrokerWebuiWidgetGallery.js +3 -3
  177. package/www/dist/frontend/config/RightDockStrip.js +1 -1
  178. package/www/dist/frontend/config/UprightOverlays.js +1 -1
  179. package/www/dist/frontend/helper/DialogHelper.js +2 -2
  180. package/www/dist/frontend/helper/EditorOfDesignItem.js +1 -1
  181. package/www/dist/frontend/helper/EsprimaHelper.js +1 -1
  182. package/www/dist/frontend/helper/Helper.js +1 -1
  183. package/www/dist/frontend/helper/LayoutHelper.js +1 -1
  184. package/www/dist/frontend/helper/XmlHelper.js +1 -1
  185. package/www/dist/frontend/helper/ZipHelper.js +1 -1
  186. package/www/dist/frontend/runtime/AnimationService.js +1 -1
  187. package/www/dist/frontend/runtime/CustomControls.js +1 -1
  188. package/www/dist/frontend/runtime/DynamicElementProperties.js +1 -1
  189. package/www/dist/frontend/runtime/EChart.js +1 -1
  190. package/www/dist/frontend/runtime/HabPanelLikeMenu.js +3 -3
  191. package/www/dist/frontend/runtime/HistoryDirectives.js +1 -1
  192. package/www/dist/frontend/runtime/NavigationShell.js +1 -1
  193. package/www/dist/frontend/runtime/ReportViewer.js +2 -2
  194. package/www/dist/frontend/runtime/RuntimeTheme.js +1 -1
  195. package/www/dist/frontend/runtime/ScreenViewer.js +3 -3
  196. package/www/dist/frontend/runtime/TranslateableText.js +2 -2
  197. package/www/dist/frontend/runtime/VisibilityService.js +1 -1
  198. package/www/dist/frontend/runtime/controls.js +1 -1
  199. package/www/dist/frontend/runtime/init.js +1 -1
  200. package/www/dist/frontend/scripting/IobrokerWebuiScriptSystem.js +1 -1
  201. package/www/dist/frontend/scripting/blockly/OpenScreen.js +1 -1
  202. package/www/dist/frontend/scripting/blockly/webuiBlocklyToolbox.js +1 -1
  203. package/www/dist/frontend/services/DynamicPropertiesHelper.js +1 -1
  204. package/www/dist/frontend/services/IobrokerWebuiBindableLocalObjectsService.js +1 -1
  205. package/www/dist/frontend/services/IobrokerWebuiBindableObjectDragDropService.js +1 -1
  206. package/www/dist/frontend/services/IobrokerWebuiBindableObjectsForPropertiesService.js +1 -1
  207. package/www/dist/frontend/services/IobrokerWebuiBindableObjectsService.js +1 -1
  208. package/www/dist/frontend/services/IobrokerWebuiConfigButtonProvider.js +1 -1
  209. package/www/dist/frontend/services/IobrokerWebuiCopyPasteService.js +1 -1
  210. package/www/dist/frontend/services/IobrokerWebuiCustomControlEventsService.js +1 -1
  211. package/www/dist/frontend/services/IobrokerWebuiCustomElementContextMenu.js +1 -1
  212. package/www/dist/frontend/services/IobrokerWebuiDemoProviderService.js +1 -1
  213. package/www/dist/frontend/services/IobrokerWebuiDynamicPropertiesService.js +1 -1
  214. package/www/dist/frontend/services/IobrokerWebuiEChartPropertiesService.js +1 -1
  215. package/www/dist/frontend/services/IobrokerWebuiEventsService.js +1 -1
  216. package/www/dist/frontend/services/IobrokerWebuiExternalDragDropService.js +1 -1
  217. package/www/dist/frontend/services/IobrokerWebuiLitPropertiesService.js +1 -1
  218. package/www/dist/frontend/services/IobrokerWebuiModelCommandService.js +1 -1
  219. package/www/dist/frontend/services/IobrokerWebuiPropertiesService.js +1 -1
  220. package/www/dist/frontend/services/IobrokerWebuiPropertyGroupsService.js +1 -1
  221. package/www/dist/frontend/services/IobrokerWebuiRefactorService.js +1 -1
  222. package/www/dist/frontend/services/IobrokerWebuiReportContextMenu.js +1 -1
  223. package/www/dist/frontend/services/IobrokerWebuiScreenContextMenu.js +1 -1
  224. package/www/dist/frontend/services/IobrokerWebuiSpecialPropertiesService.js +1 -1
  225. package/www/dist/frontend/services/IobrokerWebuiSpectrumEditorService.js +1 -1
  226. package/www/dist/frontend/services/IobrokerWebuiVisibilityPropertiesService.js +1 -1
  227. package/www/dist/frontend/services/LayoutComponentsPropertiesService.js +1 -1
  228. package/www/dist/frontend/widgets/OrthoFlowLineTool.js +1 -1
  229. package/www/dist/frontend/widgets/ReportToolbox.js +3 -3
  230. package/www/dist/frontend/widgets/customElementsObserver.js +1 -1
  231. package/www/dist/frontend/widgets/importWidgetFiles.js +1 -1
  232. package/www/dist/frontend/widgets/importWidgetFilesRuntime.js +1 -1
  233. package/www/dist/frontend/widgets/layout-components.js +1 -1
  234. package/www/dist/frontend/widgets/layout-placement-services.js +1 -1
  235. package/www/dist/frontend/widgets/testElement.js +1 -1
  236. package/www/dist/frontend/bundle/HistoryDirectives-SZNC2EXZ.js +0 -1
  237. package/www/dist/frontend/bundle/ReportViewer-BDBHZVT7.js +0 -197
  238. package/www/dist/frontend/bundle/chunk-G2T4KGPO.js +0 -21
  239. package/www/dist/frontend/bundle/chunk-TDFN5CKC.js +0 -1
package/README.md CHANGED
@@ -1,1921 +1,1933 @@
1
- # ioBroker.mywebui
2
-
3
- ![Number of Installations](https://iobroker.live/badges/mywebui-installed.svg)
4
- ![Stable version](https://iobroker.live/badges/mywebui-stable.svg)
5
- [![NPM version](https://img.shields.io/npm/v/iobroker.mywebui.svg)](https://www.npmjs.com/package/iobroker.mywebui)
6
- [![Downloads](https://img.shields.io/npm/dm/iobroker.mywebui.svg)](https://www.npmjs.com/package/iobroker.mywebui)
7
-
8
- [![NPM](https://nodei.co/npm/iobroker.mywebui.png?downloads=true)](https://nodei.co/npm/iobroker.mywebui/)
9
-
10
- **Custom edited mywebui adapter by gokturk413** - Enhanced version with additional features and optimizations.
11
-
12
- > **⚠️ IMPORTANT: This adapter requires a valid license key to operate.**
13
- > This is a hardware-bound licensed version. Contact **gokturk413** for licensing information.
14
-
15
- mywebui for ioBroker
16
-
17
- ![image](https://raw.githubusercontent.com/iobroker-community-adapters/ioBroker.mywebui/master/screenshot.png)
18
-
19
- ## Documentation
20
-
21
- Authoring guides — building screens, binding live data, writing your own
22
- controls — live in **[docs/README.md](docs/README.md)**. Start with
23
- [Getting started](docs/getting-started.md), then
24
- [Bindings](docs/bindings.md).
25
-
26
- ## Description
27
-
28
- This is a complete visualization system for ioBroker.
29
-
30
- It includes features like:
31
-
32
- - simple scripting language
33
- - binding to ioBroker objects including converters & javascript expressions
34
- - pasting of images from clipboard
35
- - drag&drop of external images
36
- - drag&drop of ioBroker objects to automaticy create bindings
37
- - drag&drop of ioBroker objects to Properties to create Bindings to them
38
- - relative signal paths to ioBroker objects in screens (the full path can be handed over from outside into the screen)
39
- - split view editing of layout and html code
40
- - global stylesheet support
41
- - usage of npm packages containing webcomponents
42
- - screens inside of screens
43
- - use all icon packages from ioBroker
44
- - use charts from ioBroker
45
- - use combined signals object id's e.g. "mywebui.0.test3.{mywebui.0.test3.select}" -> this will use the value from mywebui.0.test3.select for the signal name
46
-
47
- There is more information about specific topics in the [wiki](https://github.com/iobroker-community-adapters/ioBroker.mywebui/wiki) (the German section has a few more articles than the English one).
48
-
49
- ## Installation
50
-
51
- ### Quick Install
52
-
53
- ```bash
54
- iobroker install gokturk413/iobroker.mywebui
55
- ```
56
-
57
- ### Dependencies
58
-
59
- - You need the Web Adapter installed. It works with the following settings: ![image](https://raw.githubusercontent.com/iobroker-community-adapters/ioBroker.mywebui/master/web.png)
60
-
61
- ### License Setup
62
-
63
- This adapter requires a license key to operate. After installation:
64
-
65
- 1. **First Start** - The adapter will fail (this is normal). Check logs for your Hardware ID:
66
- ```bash
67
- iobroker logs mywebui --lines 50
68
- ```
69
-
70
- 2. **Configure License** - Open Admin Panel → Instances → mywebui → Settings
71
- - Enter the license key provided by gokturk413
72
- - Save and restart
73
-
74
- 3. **Auto-Registration** - Your hardware will be automatically registered on first successful start
75
-
76
- For detailed setup instructions, see [LICENSE_SETUP_PUBLIC.md](./LICENSE_SETUP_PUBLIC.md)
77
-
78
- **Note:** This is a hardware-bound license. The adapter will only work on registered hardware. Contact **gokturk413** for licensing.
79
-
80
- **How the machine is recognised.** The Hardware ID comes from the SMBIOS system UUID and the OS machine id: Windows MachineGuid, `/etc/machine-id` on Linux. USB devices, monitors and network adapters do not change it.
81
-
82
- The ID is read again at every licence check, so a VM cloned or moved while it runs is noticed. On Windows it is read straight from the firmware table and the registry, with no helper process. If one of the IDs cannot be read for a moment, its last value is used for up to 24 hours, and a passing hiccup never changes the identity.
83
-
84
- If the SMBIOS UUID stays unreadable, the licence enters a grace period (`identity-unreadable`) while the key still lists this machine. Editing stays possible during grace; the licence becomes *restricted* only when grace runs out.
85
-
86
- ### 🔧 SCADA Utility Functions (Auto-Installed)
87
-
88
- This adapter includes powerful SCADA utility functions for value formatting, unit conversions, and more.
89
-
90
- **Automatic Installation:** SCADA functions are automatically installed when you install this adapter via npm or GitHub. No manual setup required!
91
-
92
- The setup runs automatically during `npm install` (postinstall hook) and copies utility files to your ioBroker data directory.
93
-
94
- **Manual Setup (if needed):**
95
- ```bash
96
- npm run setup-scada
97
- ```
98
-
99
- For detailed usage instructions, see [SCADA_SETUP.md](./SCADA_SETUP.md)
100
-
101
- **Features:**
102
- - Value formatting with decimals, limits, scaling
103
- - Temperature, pressure, flow conversions
104
- - Linear scaling for analog signals (4-20mA, 0-10V)
105
- - Alarm checking with color coding
106
- - Statistical functions (average, moving average)
107
- - Time formatting and deadband/hysteresis functions
108
- - Global access in all Custom Controls and Formulas
109
-
110
- ---
111
-
112
- ## Custom Edition Features (gokturk413)
113
-
114
- This custom edition extends the original mywebui with a SCADA‑oriented feature set. The
115
- items below are the major additions over upstream.
116
-
117
- ### 🧩 Multi‑project support
118
- - Several independent projects in one adapter, each fully self‑contained under
119
- `mywebui.0.projects/<name>/{data,widgets}` (screens, 3D screens, custom controls,
120
- global style/script, installed npm widgets).
121
- - Project selector in the designer toolbar with **create / rename / delete / export /
122
- import** per project. The runtime opens a project via `runtime.html?project=<name>`
123
- (parameter‑less `runtime.html` always shows `default`, kiosk‑safe).
124
-
125
- ### 🟦 3D Editor (Three.js)
126
- - A full 3D screen editor and 3D custom controls alongside the classic 2D designer:
127
- `3D Screens` and `3D Custom Controls` (nested under `Controls`).
128
- - Scene editing with assets, lights, camera, grid, signal bindings and drives; rendered
129
- in the runtime via the embedded 3D viewer.
130
-
131
- ### 📦 Global (platform‑default) custom controls
132
- - A library of project‑independent default controls (2D + a sample 3D control) that ship
133
- with the platform and are seeded on install into `mywebui.0.data/global/`.
134
- - Editable, usable in every project's screens, browsable under the `Global` tree node
135
- (`CustomControls`, `3D Custom Controls`). Project controls with the same name take
136
- precedence over a global one.
137
-
138
- ### 🔐 Group‑based access control (Screen Accessibility)
139
- Server‑enforced (the adapter resolves ioBroker group membership from the DB — the
140
- frontend is not trusted), runtime‑gated visualization access:
141
- - **Runtime (read):** *blacklist* model — ticking a group **blocks** it from a screen at
142
- runtime; unticked groups are allowed; nothing ticked = open to all. Per‑screen
143
- (overrides global) **and** a project‑wide global default. When blocked, the screen shows
144
- an **“Access Denied” message** or **redirects** to another screen (configurable).
145
- - **Editor (write):** the designer is **administrator‑group only**; the built‑in `admin`
146
- user always has editor access and can additionally forbid specific administrator users
147
- from the editor. The built‑in `admin` user can be blocked at *runtime* but never from
148
- the editor.
149
- - Two toolbar panels: **🔐 Permissions** (project‑level groups + editor‑user control) and
150
- **🗂️ Screen Access** (per‑screen). Both mirror the Settings‑tab **Screen Accessibility
151
- Control** and sync on save.
152
- - ioBroker's own file/object ACLs are left at their defaults — access control is purely
153
- app‑level so it does not conflict with the platform's permission system.
154
-
155
- ### 🎨 Theming & branding
156
- - Light/dark/other theme adaptation via `color-scheme` + `light-dark()` + `--ui-*`
157
- design tokens across the whole designer.
158
- - Neon‑glassmorphic solution explorer, branded tab title (**MYWEBUI DESIGNER** /
159
- **MYWEBUI**) and custom favicon.
160
-
161
- ### 🔒 License protection & code obfuscation
162
- - Hardware‑bound license validation (Ed25519‑signed, validated by the obfuscated backend;
163
- the frontend shows a license overlay if invalid).
164
- - **Hybrid build model:** you develop with **readable source** (git, local); the published
165
- npm package ships **obfuscated** backend + own frontend (vendored libraries untouched).
166
- Obfuscation runs in the CI publish workflow on a disposable runner — your source is never
167
- obfuscated in place. License parts are obfuscated locally (their secret keys never enter
168
- CI). Source maps and readable license source are excluded from the npm package.
169
-
170
- ### 🔗 Bindings (signals, states, objects, properties)
171
- Bindings connect an element's attribute/property/content to a data source. In the
172
- designer click the **□ button** next to a property in the property grid to open the
173
- binding editor. A binding is written into the HTML as a `bind-…` attribute.
174
-
175
- **Binding targets** (what is bound on the element):
176
- | Attribute | Effect |
177
- |---|---|
178
- | `bind-prop:<property>` | a DOM/web‑component property (e.g. `bind-prop:hidden`, `bind-prop:disabled`, `bind-prop:value`, `bind-prop:text-content`, `bind-prop:inner-html`) |
179
- | `bind-attr:<attribute>` | an HTML attribute |
180
- | `bind-content:text` / `bind-content:html` | the element's text / HTML content |
181
- | `bind-css:<class>` | toggles a CSS class |
182
- | `bind-cssvar:<--var>` | sets a CSS custom property |
183
- | `bind-style:<prop>` | a single inline style property |
184
-
185
- **Source forms** (where the value comes from — the right‑hand side of the binding):
186
- | Form | Meaning |
187
- |---|---|
188
- | `myAdapter.0.device.STATE` | plain object id → the state **value** (`state.val`); two‑way for inputs |
189
- | `state:myAdapter.0.device.STATE` | the **whole state** object → use `.val`, `.ack`, `.ts`, `.lc`, `.q` (e.g. show quality/timestamp) |
190
- | `object:myAdapter.0.device.STATE` | the ioBroker **object** (`common`, `native`, …) e.g. unit/min/max/role |
191
- | `??propertyName` | a **screen/control property** (instance property declared on the screen or custom control) |
192
- | `.suffix` | **relative** id — prefixed at runtime with the host control's `relativeSignalsPath` (reusable controls) |
193
- | `local_<name>` | a **local** (browser‑only) state, not persisted to ioBroker |
194
-
195
- Special read‑only values `width` / `height` expose the element's live size. Conversions,
196
- format strings and a JavaScript multiplex expression are available in the binding editor
197
- for value transformation.
198
-
199
- ### 🧬 Dynamic properties
200
- Any element on a screen — including installed **npm / Lit package widgets** — can get extra
201
- per‑instance properties without changing the widget's code:
202
- - Select an element → **`dynamic` tab** in the property grid → add/remove a property
203
- (name, type `string|number|boolean|color|enum|signal`, default, optional enum values).
204
- - Stored on the element as the `dynamic-property-defs` attribute (a JSON array).
205
- - At runtime real accessors are created (with `…-changed` events), so dynamic properties
206
- are fully **bindable** (two‑way) and usable from scripts just like native ones.
207
- - Lit/package widgets may also expose webui‑specific editors by declaring a
208
- `static webuiProperties = { name: { type:'signal'|'color'|'screen'|'enum', values? } }`.
209
-
210
- ### Notable fixes
211
- - **OAuth token‑refresh under a subpath:** the socket client refreshed the auth token via a
212
- relative `./oauth/token`, which resolved to `/mywebui/oauth/token` (404) when served under
213
- `/mywebui/` and forced periodic full‑page reloads. It now uses the absolute `/oauth/token`
214
- endpoint, so the runtime/designer no longer auto‑refresh on token expiry.
215
-
216
- ## Concepts
217
-
218
- ### Description
219
-
220
- The Designer uses Web Components, so the HTML you design is inside of a Shadowroot of a Webcomponent. This means, you cannot style <body> or <html> inside of the Stylesheet. To style the outer Layout, use the ":host" selector.
221
- This also means, you cannot use "on..." eventhandlers. Use the "@..." event assignment.
222
-
223
- ### Custom Controls in mywebui
224
-
225
- You can create your own reusable CustomControls in mywebui, each of which can have its own Javascript, Properties and a template.
226
-
227
- You can use Double-Bracket Syntax and Double-Curly-Bracket Syntax of the "BaseCustomWebcomponent" to create bindings from the Template to the properties defined in the Designer. Curylbrackets create two way Bindings.
228
- If you use the Bindings Dialog, you can Bind to a Property with ??Propertyname and to IoBroker Object in the Property via ?Propertyname.
229
- In Scripts you can also write to Signals defined in Custom Properties.
230
-
231
- You can include Javascript in your CustomControl or Screen.
232
- In addition, you can export a function `init(instance)` wich will be called when your CustomControl will be instantiated.
233
- Finally, `connected()` and `disconnected()` functions can be defined to be called when ...
234
-
235
- ## Sponsoring
236
-
237
- If you want to help the development, sponsor this project at https://github.com/sponsors/jogibear9988
238
-
239
- ## Developing
240
- * Install Repository as Adapter in IOBroker
241
- * Download the Repository to an extra "dev" directory, do not develop inside the ioBroker Node_modules directory.
242
- * Do the following steps inside of the "dev" dirctory.
243
-
244
- * Install dependencies
245
- ```
246
- $ npm install
247
- ```
248
-
249
- * Compile Typescript after doing changes (or press Ctrl + Shift + B in VsCode and select "tsc watch")
250
- ```
251
- $ npm run tsc
252
- ```
253
-
254
- * Adjust 'config.js' to match you ip-adress and port for your iobroker
255
- (The config.js in the repository root will be replaced with the one in '/config' when running 'npm build')
256
- ```
257
- window.iobrokerHost = '192.168.1.2';
258
- window.iobrokerPort = '8082';
259
- window.iobrokerSocketScriptUrl = 'http://' + window.iobrokerHost + ':' + window.iobrokerPort + '/lib/js/socket.io.js';
260
- ```
261
-
262
- * Run the app in a local server
263
- ```
264
- $ npm start
265
- ```
266
-
267
- * Navigate Chrome to [localhost:8000]() to see the app.
268
-
269
- ### More about Development
270
-
271
- - Run
272
- ```
273
- $ npm run reflection
274
- ```
275
- to recreate reflection files for Scripting wich are used for the property grid
276
-
277
- - Run
278
- ```
279
- $ npm run build
280
- ```
281
- to copy compiled files and node_modules to www folder so adapter is installable via github
282
-
283
- - Run
284
- ```
285
- $ npm run release
286
- $ npm publish
287
- ```
288
- to create correct release commit for iobroker, Be carefull this also pushes to git repo.
289
- Be sure to edit "CHANGELOG.md" before, the text in "## **WORK IN PROGRESS**" in README.Md will be used for version info
290
-
291
- ## Info about the Adapter.
292
-
293
- The Adapter is based on the following Designer component:
294
- https://github.com/node-projects/web-component-designer
295
-
296
- You need to create a screen "start", this is the first one called when you open runtime.html,
297
- but you can change this via query parameter:
298
- runtime.html?screenName=screen2
299
-
300
- ## Changelog
301
- <!--
302
- Placeholder for next versions:
303
- ### __WORK IN PROGRESS__
304
- -->
305
- ### 1.170.0 (2026-10-01)
306
- * (gokturk413) feat(runtime): state details panel for administrators (click a badge / Alt+click a control: every bound state with read and write status); runtime texts (write feedback, read quality, quality codes, the panel) in az/en/ru/de/tr, overridable by project translations
307
-
308
- ### 1.169.0 (2026-10-01)
309
- * (gokturk413) feat(navigation): Start as — the menu opens full, icons only, hidden, or as this browser left it last time
310
-
311
- ### 1.168.2 (2026-10-01)
312
- * (gokturk413) fix(navigation): with the sidebar on the right the ☰ sits in the app bar's right corner, and the app bar keeps room for it there
313
-
314
- ### 1.168.1 (2026-10-01)
315
- * (gokturk413) fix(designer): Settings splits Navigation into "this screen" and "all screens" (position, layout, theme… are global); a rebuilt sidebar lets go of its listeners and badge subscriptions
316
-
317
- ### 1.168.0 (2026-10-01)
318
- * (gokturk413) feat(navigation): position left/right/top/bottom (top/bottom as a bar with drop-down groups), layout push/overlay, a badge per entry from a state (summed on groups); fix: a control updated live no longer throws in disconnectedCallback
319
-
320
- ### 1.167.1 (2026-10-01)
321
- * (gokturk413) fix(designer): Settings → Navigation → Groups follows Group items at once
322
-
323
- ### 1.167.0 (2026-10-01)
324
- * (gokturk413) feat(navigation): menu groups get their own title (translatable), icon and order (Settings → Navigation → Groups); with icons only, a group opens its entries in a panel beside the sidebar; read-quality and write-feedback layers sit under the navigation
325
-
326
- ### 1.166.0 (2026-10-01)
327
- * (gokturk413) feat(navigation): menu groups by folder or by a group per screen (open/close, nested), SVG menu icons in the theme colour, the screen moves and scales with the sidebar (easing, no jump)
328
-
329
- ### 1.165.1 (2026-10-01)
330
- * (gokturk413) fix(runtime): read quality frames the whole control (content bigger than the host) and watches custom-control properties of type signal (input_with_button); scada_point_panel and ReportSelector no longer overflow their own box
331
-
332
- ### 1.165.0 (2026-10-01)
333
- * (gokturk413) feat(runtime): read quality — every bound control shows when its value cannot be trusted (quality code, driver down, stale, missing); write feedback names the quality code and no longer counts substitute values as errors; docs/status-indicators.md (en + az)
334
-
335
- ### 1.164.0 (2026-10-01)
336
- * (gokturk413) feat(designer): layout toolbar, upright overlays on rotated controls; incremental npm upload
337
-
338
- ### 1.163.1 (2026-09-30)
339
- * (gokturk413) fix(runtime): pending write drawn at once; @click="[[…]]" on a screen threw
340
-
341
- ### 1.163.0 (2026-09-30)
342
- * (gokturk413) feat(runtime): write feedback — every operator write shows whether the driver confirmed it
343
-
344
- ### 1.162.8 (2026-09-30)
345
- * (gokturk413) fix(designer): the right tool-window strip lost its names on a short window
346
-
347
- ### 1.162.7 (2026-09-30)
348
- * (gokturk413) fix(designer): the obfuscated release designer did not load — ReportToolbox
349
-
350
- ### 1.162.6 (2026-09-30)
351
- * (gokturk413) fix(controls): valve_faceplate buttons carried an empty "bind-attr:"
352
-
353
- ### 1.162.5 (2026-09-30)
354
- * (gokturk413) fix(licence): a machine id that stops answering is no longer a tamper
355
-
356
- ### 1.162.4 (2026-09-30)
357
- * (gokturk413) fix(designer): report canvas styles, Report toolbox click, translation key actions
358
-
359
- ### 1.162.3 (2026-09-30)
360
- * (gokturk413) fix(controls): property defaults set before the first binding pass
361
-
362
- ### 1.162.2 (2026-09-30)
363
- * (gokturk413) fix(runtime): two-way bindings write numbers to number states; directive test heading
364
-
365
- ### 1.162.1 (2026-09-30)
366
- * (gokturk413) perf(runtime): the navigation menu appears with the screen
367
-
368
- ### 1.162.0 (2026-09-29)
369
- * (gokturk413) feat(charts): `<iobroker-webui-echart>` — live ECharts in viewer and designer, the same chart in HTML/PDF
370
-
371
- ### 1.161.0 (2026-09-29)
372
- * (gokturk413) feat(designer): History Query builder + Report toolbox; docs/reports.md
373
-
374
- ### 1.160.0 (2026-09-28)
375
- * (gokturk413) feat(reports): report theme, full web platform in the sandbox; app bar steady and responsive
376
-
377
- ### 1.159.0 (2026-09-28)
378
- * (gokturk413) fix(reports): pictures in generated reports — SVG/PNG in HTML and PDF
379
-
380
- ### 1.158.0 (2026-09-28)
381
- * (gokturk413) feat(reports): Output → Languages — one server file per language, {lang} in path or name
382
-
383
- ### 1.157.0 (2026-09-28)
384
- * (gokturk413) feat: engine in the fork; translations in reports; live toolbox; quiet connection monitor
385
-
386
- ### 1.156.0 (2026-09-28)
387
- * (gokturk413) fix(directives): every template directive tested in control, screen and report; 9 bugs fixed
388
-
389
- ### 1.155.0 (2026-09-27)
390
- * (gokturk413) feat(reports): template directives on screen and report pages; history options demo
391
-
392
- ### 1.154.0 (2026-09-27)
393
- * (gokturk413) feat(reports): reports rendered for a user, report scripts in the sandbox, history: directive
394
-
395
- ### 1.153.0 (2026-09-27)
396
- * (gokturk413) feat(reports): the fonts the author picks reach the PDF; toolbox rights set in the designer
397
-
398
- ### 1.152.0 (2026-09-27)
399
- * (gokturk413) feat(reports): history on the backend, five languages in PDF, the dialog's dates applied
400
-
401
- ### 1.151.0 (2026-09-27)
402
- * (gokturk413) feat(reports): PDF painted as the report looks — Takumi replaces pdfmake
403
-
404
- ### 1.150.0 (2026-09-27)
405
- * (gokturk413) feat(reports): live reports, range from states, reports embeddable in screens
406
-
407
- ### 1.149.0 (2026-09-27)
408
- * (gokturk413) fix(reports): print in colour; show the date boxes only for a custom range; icons in the toolbox
409
-
410
- ### 1.148.0 (2026-09-27)
411
- * (gokturk413) feat(reports): the browser's printed date, title, URL and page number are optional
412
-
413
- ### 1.147.0 (2026-09-27)
414
- * (gokturk413) fix(reports): a browser saves on the server through the trigger state, not sendTo
415
-
416
- ### 1.146.1 (2026-09-27)
417
- * (gokturk413) fix(reports): print the report alone, not the whole application
418
-
419
- ### 1.146.0 (2026-09-27)
420
- * (gokturk413) feat(reports): PDF and CSV output, a time range in the viewer, reports in the menu
421
-
422
- ### 1.145.0 (2026-09-26)
423
- * (gokturk413) feat(reports): a bound state starts a server run; theme the Report window
424
-
425
- ### 1.144.0 (2026-09-26)
426
- * (gokturk413) feat(reports): schedule + trigger (task 9), VS-style tool windows (task 10)
427
-
428
- ### 1.143.0 (2026-09-26)
429
- * (gokturk413) feat(reports): generate on the server, download in the browser (task 8)
430
-
431
- ### 1.142.0 (2026-09-26)
432
- * (gokturk413) feat(reports): run control scripts on a DOM inside the sandbox (task 6)
433
-
434
- ### 1.141.0 (2026-09-26)
435
- * (gokturk413) feat(designer): events on the screen / report root, in the Events panel
436
-
437
- ### 1.140.0 (2026-09-26)
438
- * (gokturk413) feat(reports): backend renderer, expression sandbox, report events, screen-only (task 5)
439
-
440
- ### 1.139.0 (2026-09-26)
441
- * (gokturk413) feat(reports): open a report in the browser, with the full screen chrome (task 4)
442
-
443
- ### 1.138.0 (2026-09-26)
444
- * (gokturk413) feat(reports): the page canvas — paper, rulers, bands and page breaks (task 3)
445
-
446
- ### 1.137.0 (2026-09-26)
447
- * (gokturk413) feat(reports): Reports in the solution tree, with its own icons (task 2)
448
-
449
- ### 1.136.1 (2026-09-26)
450
- * (gokturk413) fix(reports): a report keeps every screen setting; only its size comes from the page
451
-
452
- ### 1.136.0 (2026-09-26)
453
- * (gokturk413) feat(reports): the .report object type (task 1 of the report plan)
454
-
455
- ### 1.133.0 (2026-09-25)
456
- * (gokturk413) feat(licence): move mywebui to the scada-core state machine (RFC-005 L3)
457
- * (gokturk413) feat(licence): a host ledger per licence in every candidate directory
458
- * (gokturk413) fix(licence): a key no longer erases the trial history in the adapter's slot
459
- * (gokturk413) fix(licence): a stopped install no longer opens a usage-grace window
460
- * (gokturk413) fix(licence): do not log 'unlocked' for a stopped install
461
- * (gokturk413) feat(admin): explain the trial, the two hardware ids and the per-VM licence
462
-
463
- ### 1.132.0 (2026-09-15)
464
- * (gokturk413) fix(designer): Properties dock tabs wrap onto rows instead of truncating
465
- * (gokturk413) fix(ci): pin Rust to a newer stable broke both aarch64 cross-builds
466
-
467
- ### 1.130.0 (2026-08-04)
468
- * (gokturk413) fix(dist): the public release would have shipped a broken adapter — three ways
469
- * (gokturk413) fix(ci)!: the release workflow would have force-pushed over this repo's own history
470
- * (gokturk413) fix(ci): expect the triple names napi actually produces, and cross-check them
471
-
472
- ### 1.129.0 (2026-08-04)
473
- * (gokturk413) feat(native): main.js permission handlers call the engine
474
- * (gokturk413) fix(dist): ship the engine and its bridge; guard against an engine-less tarball
475
- * (gokturk413) feat(dist): allow-list staging script for the public artifact tree
476
- * (gokturk413) fix(dist): stop shipping scripts/ — it is the build process, not the product
477
- * (gokturk413) feat(dist): independent pre-push audit of the staged public tree
478
- * (gokturk413) fix(dist): stop publishing TypeScript sources and vendored package internals
479
- * (gokturk413) feat(ci): public release workflow — allow-list staging, pre-push audit, dry-run default
480
- * (gokturk413) fix(ci): deliver the cross-built engines into the package
481
- * (gokturk413) fix(ci): publish builds every engine itself, and demands all 8 before shipping
482
-
483
- ### 1.128.0 (2026-08-03)
484
- * (gokturk413) fix(license): gate every deploying command, not just two of them
485
- * (gokturk413) feat(native): group resolution + checkVisibility allow-list
486
- * (gokturk413) feat(native): screen ACL — write allow-rule, read blacklist, new/legacy arbitration
487
- * (gokturk413) fix(native): a non-string in a blocked list denies, matching the JS
488
- * (gokturk413) feat(native): PlantPAx write permission model (action codes + area levels)
489
- * (gokturk413) fix(native): an explicit null area level falls through to the '*' fallback
490
- * (gokturk413) fix(native): model JS falsiness — non-string codes and empty-string levels no longer fail open
491
- * (gokturk413) fix(native): prototype-inherited action keys no longer bypass the permission model
492
- * (gokturk413) feat(native): resolve_screen_access/visibility/sec_write napi entries + parity test
493
-
494
- ### 1.127.0 (2026-08-02)
495
- * (gokturk413) feat(license): surface tag usage + grace/violation state in the designer console
496
- * (gokturk413) fix(license): keep the grace high-water-mark alive when an audit fails
497
-
498
- ### 1.126.0 (2026-08-01)
499
- * (gokturk413) feat(native): run/cache the usage audit and enforce the locked verdict
500
-
501
- ### 1.125.0 (2026-08-01)
502
- * (gokturk413) feat: (deep-fidelity) — P_Gate faceplate rebuilt faithful to real .gfx single-page flow (Inputs→Gate Delay→On/Off Delay→Output); fixes faceplate numeric inputs never populating
503
- * (gokturk413) feat(native): scaffold mywebui_scada_engine crate with version()/ping()
504
- * (gokturk413) feat(native): engineBridge loader as the single engine import point
505
- * (gokturk413) feat(native): load mywebui_scada_engine in adapter main() and log its version
506
- * (gokturk413) feat(native): cross-platform hardware-id (whid2- machine-id/UUID/MachineGuid)
507
- * (gokturk413) feat(native): Ed25519 license verify + payload parse (embedded public key)
508
- * (gokturk413) feat(native): clock-tamper-resistant 30-day trial anchor (monotonic + HMAC + hwid-bound)
509
- * (gokturk413) feat(native): validate_license/hardware_id napi entry points + edition/trial resolution
510
- * (gokturk413) feat(native): main.js uses the engine for license/hardware-id; no-stop trial->free; delete JS validators
511
- * (gokturk413) fix(license): designer allows trial/free editions (was locking them out)
512
- * (gokturk413) fix(build): rebuild committed dist/backend from src-original (Phase 1) + drop orphan validator
513
- * (gokturk413) feat(native): bridge Effect protocol + pure demo handler
514
- * (gokturk413) feat(native): handle_demo napi export + JS effectApplier + mock-host B test
515
- * (gokturk413) feat(native): async host-callback PoC (napi ThreadsafeFunction + awaited JS Promise)
516
- * (gokturk413) feat(native): importmap scaffold — ImportmapBuilder + path helpers + embedded hacks
517
- * (gokturk413) fix(native): importmap uses posix pjoin (not native path join) for web-path parity
518
- * (gokturk413) feat(native): importmap add_to_importmap (exports/main/module resolution)
519
- * (gokturk413) fix(native): pjoin normalizes leading ./ like path.posix.join (once, not per call site)
520
- * (gokturk413) fix(native): add_to_importmap uses plain concat at JS:282/285/293 (not pjoin)
521
- * (gokturk413) feat(native): importmap load_dependency (recursive, deduped, native fs)
522
- * (gokturk413) feat(native): importmap parse_npm_package (custom-elements + esbuild bundle integration)
523
- * (gokturk413) feat(native): importmap build_importmap top-level + writes 5 loader files
524
- * (gokturk413) fix(native): serde_json preserve_order so generated importmap.js matches JS key order
525
- * (gokturk413) feat(native): create_importmap napi async wrapper + Node integration test
526
- * (gokturk413) feat(native): main.js uses engine.create_importmap; delete JS ImportmapCreator
527
- * (gokturk413) fix(native): live-parity fixes — bundle host must resolve a string; JS:86 error text
528
- * (gokturk413) fix(build): rebuild dist/backend after the port + correct the host-callback contract docs
529
- * (gokturk413) feat(native): upload walk + ignore list + progress throttling (pure, tested)
530
- * (gokturk413) feat(native): upload collect_existing_files_to_delete (DB-driven recursion)
531
- * (gokturk413) feat(native): upload erase/upload_internal/driver with effect logging
532
- * (gokturk413) fix(native): normalize source_dir in the upload driver (backslash paths skipped every file)
533
- * (gokturk413) feat(native): upload_widgets napi wrapper + Node integration test
534
- * (gokturk413) feat(native): main.js uses engine.upload_widgets; delete JS UploadHelper
535
- * (gokturk413) feat(native): tag extraction — distinct ioBroker state IDs from screens/controls
536
- * (gokturk413) feat(native): usage counting, limit checking and deterministic allowed-screen selection
537
- * (gokturk413) fix(native): dedupe project names by set, stabilize counted_tags order, document unchecked limits
538
- * (gokturk413) feat(native): 2-day grace anchor — HMAC-signed, hardware-bound, rollback-proof
539
- * (gokturk413) fix(native): saturating arithmetic in grace/trial anchors + explicit blob-persistence contract
540
- * (gokturk413) feat(native): audit_usage napi entry — usage, violations, locked verdict and grace state
541
- * (gokturk413) fix(native): corrupt licence falls back to free tier; degraded audits never unlock or clear the grace anchor
542
- * (gokturk413) fix(native): licence needs a positive marker; a hard lock only clears via a verified licence
543
- * (gokturk413) fix(native)!: audit_usage verifies the licence KEY itself, not a caller-supplied verdict
544
-
545
- ### 1.124.0 (2026-07-07)
546
- * (gokturk413) feat: (deep-fidelity) — P_Motor faceplate audited vs real .gfx: adds Stopped/NotRdy lamps, PermOK/NBPerm/Sim/MaintByp flags, Bypass+OvldNotify maint rows (all adapter-gated)
547
-
548
- ### 1.123.0 (2026-07-07)
549
- * (gokturk413) feat: (deep-fidelity) — PlantPAx-faithful SVG device symbols + adapter-data-gating
550
-
551
- ### 1.122.0 (2026-07-07)
552
- * (gokturk413) feat: (deep-fidelity) — P_AIn alarm-bar uses real Rockwell command-button PNGs (Cmd_AlmAck / Cmd_AlmAckAllReset / Cmd_Reset) instead of text buttons. Verified live: 3 real PNG command buttons
553
-
554
- ### 1.121.0 (2026-07-07)
555
- * (gokturk413) feat: (deep-fidelity) — alarm-row uses REAL Rockwell PNG icons (data-URI)
556
-
557
- ### 1.120.0 (2026-07-07)
558
- * (gokturk413) feat: (wave B) — +8 device types (P_ValveMO/ValveMP/nPos/Motor2Spd/Dose/HiLoSel/DBC/Logic) via data-driven _dev_faceplate + real AOI members extracted from L5X; typeToTag/slug/seeds. Generic-convention faceplates (deep .gfx fidelity to follow)
559
-
560
- ### 1.119.0 (2026-07-07)
561
- * (gokturk413) feat: (wave B start) — new types P_DIn + P_DOut (Discrete I/O)
562
-
563
- ### 1.118.0 (2026-07-07)
564
- * (gokturk413) feat: (wave A COMPLETE) — Valves/PIDE/Infra verified on real tab model + members
565
-
566
- ### 1.115.0 (2026-07-07)
567
- * (gokturk413) feat: (wave A) — Motors group (P_Motor/P_MotorRev/P_VSD): labeled Home/Maint/Alarm tabs + real members (Sts_Running, OCmd_Start...). Shared _dev_faceplate tab-strip now Home+labeled, positioning Valves/PIDE/Infra for Tasks 8-10.
568
-
569
- ### 1.114.4 (2026-07-07)
570
- * (gokturk413) feat: (wave A) — P_AIn Engineering (Advanced) matches the mockup: PV Source & Quality checkboxes + Substitute PV value + Filtering & Thresholds (Fail Hi/Lo, PV decimals) all with real member labels; _cfg_row helper + cfgmem styling; pvDecPlcs seed/meta
571
-
572
- ### 1.114.3 (2026-07-07)
573
- * (gokturk413) feat: (wave A) — alarm-row shows real member labels (HiHi.Alm · HiHi.Ack) + severity-tier colours (HiHi/LoLo/Fail red, Hi/Lo amber) matching the mockup
574
-
575
- ### 1.114.2 (2026-07-06)
576
- * (gokturk413) feat: (wave A) — P_AIn real device-state flags: Sim (Inp_Sim), Maint Byp (Sts_MaintByp), Substitute, Input Fail on Home tab; seed+meta for sim/simPvSet/maintByp/oos
577
-
578
- ### 1.114.1 (2026-07-06)
579
- * (gokturk413) fix: (wave A) — P_AIn faceplate visual fidelity to mockup: labeled tabs (Home/Maint/Diag/Alarm/Trend), description line, Range/Substitute rows, clean card styling (header/tab-underline/kv-rows/flag-pills)
580
-
581
- ### 1.114.0 (2026-07-06)
582
- * (gokturk413) feat: (wave A) — P_AIn symbol colours by threshold-status (Sts_*) to match the MAI + alarm objects; unacked badge tracks real alarm objects. P_AIn REFERENCE COMPLETE (acceptance gate passed vs live P_AIn_01)
583
-
584
- ### 1.113.0 (2026-07-06)
585
- * (gokturk413) feat: (wave A) — P_AIn faceplate rebuilt to real model: Home tab (vertical MAI + PV block + status-flags), Alarm tab composes alarm-row components, Engineering uses scaling-widget; tabs Home/Maintenance/Diagnostics/Alarm/Trend + Advanced
586
-
587
- ### 1.112.0 (2026-07-06)
588
- * (gokturk413) feat: (wave A) - scaling-widget (raw->EU config) + status-flag components
589
-
590
- ### 1.111.0 (2026-07-06)
591
- * (gokturk413) feat: (wave A) — alarm-row component: severity + UNACK/ACK'D/SHELVED/SUPPRESSED/DISABLED chip + ack/shelve buttons
592
-
593
- ### 1.110.0 (2026-07-06)
594
- * (gokturk413) feat: (wave A) — Moving Analog Indicator: vertical scale, PV fill + pointer with value, HiHi/Hi/Lo/LoLo flags with EU value labels, threshold colour
595
-
596
- ### 1.109.0 (2026-07-06)
597
- * (gokturk413) feat: (wave A) — hybrid canonical+member labels in PlantPAx Types editor; P_AIn seed verified vs real AOI members
598
- * (gokturk413) fix: (wave A task1) — alarm meta labels match resolver (HiHi.Alm/.Ack nested); add threshold-status keys hiHiSts/hiSts/loSts/loLoSts -> Sts_* for MAI flags
599
-
600
- ### 1.108.1 (2026-07-06)
601
- * (gokturk413) fix: PlantPAx faceplate/symbol button wiring (imperative ppWireSymbol/ppWireHeader; remove broken @click=[[...]] which no-oped)
602
-
603
- ### 1.108.0 (2026-07-06)
604
- * (gokturk413) feat: (wave3 COMPLETE) — P_MotorRev/CmdSrc/Gate/Intlk/Perm/Alarm/Meta faceplates; all 13 PlantPAx types now shipped (symbol+faceplate each), all composed from 8 reusable wave-1 components; dual-adapter seeds for every type
605
-
606
- ### 1.107.0 (2026-07-06)
607
- * (gokturk413) feat: (wave3) — P_ValveC/P_ValveSO/P_PIDE/P_VSD faceplates via generic _dev_faceplate composing wave-1 components (level-bar+slider+lamps+buttons+sparkline); rich dual-adapter seeds
608
-
609
- ### 1.106.0 (2026-07-06)
610
- * (gokturk413) feat: (wave3 start) — P_Motor symbol + faceplate composed from wave-1 components (4 status-lamp + 2 command-button), P_Motor seed both adapters (15 members)
611
-
612
- ### 1.105.0 (2026-07-06)
613
- * (gokturk413) feat: (wave2) — PlantPAx Types editor as Ignition tag-browser tree (9 collapsible member categories: Process Value/Alarm Limits/Deadbands/Status/Ack/Commands/Scaling/Quality/Identity + counts + per-member test)
614
-
615
- ### 1.104.1 (2026-07-06)
616
- * (gokturk413) feat: enlarge faceplate popup (min-width 320->480, settings 520x600, roomier padding/font)
617
-
618
- ### 1.104.0 (2026-07-06)
619
- * (gokturk413) feat: enriched Alarms tab (unacked count + Ack All/Reset & Ack/Reset via OCmd_ResetAckAll/OCmd_Reset) + 3 alarm-cmd seed fields
620
- * (gokturk413) feat: wave1 primitives — plantpax/components/{status-lamp,command-button} (reusable boolean indicator + secWriteState command button)
621
- * (gokturk413) feat: wave1 input primitives — plantpax/components/{toggle-switch,radio-toggle,std-slider} (read+write via secWriteState, secCan-gated)
622
- * (gokturk413) feat: wave1 tank BlockStyle symbol (fill level = PV%, alarm color, click->faceplate) — 8 reusable plantpax components total
623
-
624
- ### 1.103.0 (2026-07-06)
625
- * (gokturk413) feat: Flintium-style icon tab-strip (Main: Operator/Maintenance/Trends/Diagnostics/Alarms + gear->Advanced: Engineering/HMI/Faults) with Trends/Diagnostics/HMI/Faults panes
626
-
627
- ### 1.102.0 (2026-07-06)
628
- * (gokturk413) feat: real Flintium-style P_AIn faceplate (level-bar component, EU-scaled Moving Analog Indicator, Raw Input Scaling + PV Source/Quality Engineering tab, expanded seed 37 fields)
629
- * (gokturk413) feat: add plantpax/components/sparkline (live mini-trend) + embed in P_AIn Operator
630
-
631
- ### 1.100.0 (2026-07-05)
632
- * (gokturk413) feat: PlantPAx faceplate popup host on IOB (mount/unmount, no display:none leak) + typeToTag
633
- * (gokturk413) feat: PlantPAx generator + P_AIn symbol & 4-tab faceplate controls
634
-
635
- ### 1.99.1 (2026-07-05)
636
- * (gokturk413) fix: Security editor dock had no background (showed white/host-default)
637
- * (gokturk413) feat: add PlantPAx type-mapping resolver with full AOI catalog seed data
638
- * (gokturk413) feat: wire PlantPAx type resolver into IobrokerHandler (IOB) singleton
639
- * (gokturk413) feat: add PlantPAx Types dock editor custom element
640
- * (gokturk413) feat: register PlantPAx Types dock tab in AppShell + rebuild runtime bundle
641
-
642
- ### 1.99.0 (2026-07-04)
643
- * (gokturk413) feat: Area & Permissions dock (assign data-area/data-action per element)
644
-
645
- ### 1.98.0 (2026-07-04)
646
- * (gokturk413) feat: server-enforced permission writes (secWriteState), phase 2
647
-
648
- ### 1.97.0 (2026-07-04)
649
- * (gokturk413) feat: Security editor dock (Users / Areas / Actions matrix / Codes)
650
-
651
- ### 1.96.0 (2026-07-04)
652
- * (gokturk413) feat: PlantPAx-style permission system (codes/actions/areas), phase 1
653
-
654
- ### 1.95.1 (2026-07-04)
655
- * (gokturk413) fix: multi-view injected elements now honor visibility conditions
656
-
657
- ### 1.95.0 (2026-07-04)
658
- * (gokturk413) fix: Monaco drag crash guard + all npm packages editable in Translations dock
659
-
660
- ### 1.94.3 (2026-07-04)
661
- * (gokturk413) fix: multi-view selections were not persisted (raw element writes)
662
-
663
- ### 1.94.2 (2026-07-04)
664
- * (gokturk413) fix: alarm viewers: designer instance also lacks _getDomElements + null-safe template exprs
665
-
666
- ### 1.94.1 (2026-07-03)
667
- * (gokturk413) fix: designer script errors in control editor (missing control APIs)
668
-
669
- ### 1.94.0 (2026-07-03)
670
- * (gokturk413) feat: alarm-history-viewer control (declarative, native datetime range)
671
-
672
- ### 1.93.0 (2026-07-03)
673
- * (gokturk413) feat: alarm-viewer control (Tabulator-free, declarative) + scoped-t fix
674
-
675
- ### 1.92.0 (2026-07-03)
676
- * (gokturk413) fix: translation modal keeps scope + migrate control groups to control-own dicts
677
-
678
- ### 1.91.0 (2026-07-03)
679
- * (gokturk413) feat: scoped translation system (control-own / npm-widget / project)
680
-
681
- ### 1.90.0 (2026-07-03)
682
- * (gokturk413) feat: Glass (glassmorphism) runtime theme + --ui-backdrop token
683
-
684
- ### 1.89.0 (2026-07-03)
685
- * (gokturk413) feat: modern themed logout control (pairs with user-badge)
686
-
687
- ### 1.88.0 (2026-07-03)
688
- * (gokturk413) feat: user-badge control: modern themed user chip for the app bar
689
-
690
- ### 1.87.0 (2026-07-02)
691
- * (gokturk413) feat: nav 'Auto (runtime theme)' preset + level_bar theme tokens
692
-
693
- ### 1.86.0 (2026-07-02)
694
- * (gokturk413) feat: theme-toggle control: segmented icon pill (Auto | Light | Dark)
695
-
696
- ### 1.85.0 (2026-07-02)
697
- * (gokturk413) fix: theme tokens in inline-style/script controls (scada_point_panel, input_with_button, TextViewer)
698
-
699
- ### 1.84.0 (2026-07-02)
700
- * (gokturk413) feat: linear-gauge rebuilt fully declarative (colored scale + pointer, zero render-JS)
701
-
702
- ### 1.83.0 (2026-07-02)
703
- * (gokturk413) feat: semantic theme tokens (--ui-ok/warn/error/info) + map control chrome/status colors to theme tokens
704
-
705
- ### 1.82.0 (2026-07-02)
706
- * (gokturk413) feat: user-definable themes via Global Style (CSS data-attribute model)
707
-
708
- ### 1.81.0 (2026-07-02)
709
- * (gokturk413) fix: linear-gauge reactivity + enum dropdowns + vertical min-tick
710
-
711
- ### 1.80.0 (2026-07-02)
712
- * (gokturk413) feat: runtime theme system + theme-selector control
713
-
714
- ### 1.79.0 (2026-07-02)
715
- * (gokturk413) feat: new mywebui adapter logo (gradient tech mark + wordmark)
716
-
717
- ### 1.78.0 (2026-07-02)
718
- * (gokturk413) fix: setpoint-gauge dark-runtime theming fallbacks
719
-
720
- ### 1.77.0 (2026-07-02)
721
- * (gokturk413) feat: setpoint-gauge control (thermostat-style, declarative bindings)
722
-
723
- ### 1.76.0 (2026-07-02)
724
- * (gokturk413) fix: theme the gauge controls via --ui-* tokens
725
-
726
- ### 1.75.0 (2026-07-02)
727
- * (gokturk413) feat: free linear-gauge + gauge-table controls (MODES-style)
728
-
729
- ### 1.74.0 (2026-07-01)
730
- * (gokturk413) fix: theme the designer context menu (was white/unreadable in dark themes)
731
-
732
- ### 1.73.0 (2026-07-01)
733
- * (gokturk413) feat: dedicated App Bar / Sidebar content editor
734
-
735
- ### 1.72.0 (2026-07-01)
736
- * (gokturk413) fix: settings-tab collapse arrows — right-aligned + bigger
737
-
738
- ### 1.71.0 (2026-07-01)
739
- * (gokturk413) feat: settings-tab menus — Layout collapsible, bigger arrows, collapsed by default
740
-
741
- ### 1.70.0 (2026-07-01)
742
- * (gokturk413) fix: theme the Multi-View dock like the other side panels
743
-
744
- ### 1.69.0 (2026-07-01)
745
- * (gokturk413) fix: multi-view panel — no duplicate + robust home-screen detection
746
-
747
- ### 1.68.0 (2026-07-01)
748
- * (gokturk413) feat: multi-view Stage 3 — ghost preview on target screens in the designer
749
-
750
- ### 1.67.0 (2026-07-01)
751
- * (gokturk413) feat: multi-view — show one element on multiple screens (vis-style)
752
-
753
- ### 1.65.0 (2026-07-01)
754
- * (gokturk413) feat: per-screen transition + fix screen-access disable sync + collapsible settings menus
755
-
756
- ### 1.64.0 (2026-07-01)
757
- * (gokturk413) fix: guard adoptedStyleSheets when control uses global style but none exists
758
-
759
- ### 1.63.0 (2026-07-01)
760
- * (gokturk413) feat: whenScreenReady() + screen-ready event + configurable screen transition
761
-
762
- ### 1.62.0 (2026-06-30)
763
- * (gokturk413) feat: delete slot items in nav app-bar/sidebar from the designer
764
-
765
- ### 1.61.0 (2026-06-30)
766
- * (gokturk413) feat: navigation/app-bar theme system + smooth hide-until-ready screen transitions
767
-
768
- ### 1.60.0 (2026-06-30)
769
- * (gokturk413) feat: navigation named slots for arbitrary controls (#3)
770
-
771
- ### 1.59.0 (2026-06-30)
772
- * (gokturk413) feat: navigation designer preview chrome (#2)
773
-
774
- ### 1.58.0 (2026-06-30)
775
- * (gokturk413) feat: modern-sidebar look for nav controls (#4)
776
-
777
- ### 1.57.0 (2026-06-30)
778
- * (gokturk413) feat: navigation live re-render on save (#1)
779
-
780
- ### 1.56.1 (2026-06-30)
781
- * (gokturk413) feat: nav menu-item/app-bar icons resolve relative project image paths
782
-
783
- ### 1.56.0 (2026-06-30)
784
- * (gokturk413) feat: Navigation Phase 2 — editable nav/app-bar custom controls + runtime mounter
785
-
786
- ### 1.55.0 (2026-06-30)
787
- * (gokturk413) feat: Navigation + Application Bar settings (Phase 1 — config UI + data model)
788
-
789
- ### 1.54.1 (2026-06-30)
790
- * (gokturk413) fix: Global Script editor threw 'IobrokerWebuiMonacoEditor is not defined'
791
-
792
- ### 1.54.0 (2026-06-29)
793
- * (gokturk413) feat: enable Global Script node (startup init() module) in the tree
794
-
795
- ### 1.53.3 (2026-06-29)
796
- * (gokturk413) fix: prover control drops at a normal size and scales on resize
797
-
798
- ### 1.53.2 (2026-06-28)
799
- * (gokturk413) fix: flow-line tool draws straight orthogonal segments (no freehand wavy)
800
-
801
- ### 1.53.1 (2026-06-28)
802
- * (gokturk413) fix: tee — thin centered bands (white space) + pipesize property so it snaps to pipes
803
-
804
- ### 1.53.0 (2026-06-28)
805
- * (gokturk413) feat: SCADA flow-line tool — dedicated toolbar button for orthogonal multi-segment polylines
806
-
807
- ### 1.52.3 (2026-06-28)
808
- * (gokturk413) feat: use the real tee artwork (4 teeTypes) in the tee control, not combined H+V pipes
809
-
810
- ### 1.52.2 (2026-06-28)
811
- * (gokturk413) fix: tee pipe square-tile geometry (generated in its script) so it tiles too
812
-
813
- ### 1.52.1 (2026-06-28)
814
- * (gokturk413) fix: smooth pipe gradient (linear straights + radial curves) instead of layered strokes
815
-
816
- ### 1.52.0 (2026-06-28)
817
- * (gokturk413) feat: pipe magnet-snap in the designer (edge snap + green indicator)
818
-
819
- ### 1.51.0 (2026-06-28)
820
- * (gokturk413) feat: normalize pipe controls to a unified square-tile model (vis-style mouth-to-mouth tiling)
821
-
822
- ### 1.50.1 (2026-06-28)
823
- * (gokturk413) fix: add VisibilityService.applyVisibility — custom controls threw on connect
824
-
825
- ### 1.50.0 (2026-06-28)
826
- * (gokturk413) feat: embedded (elementless) screen-layout tabs — flex-like, no webui-tab-container in code
827
-
828
- ### 1.49.3 (2026-06-27)
829
- * (gokturk413) feat: drop controls into the active tab pane (TabContainerPlacementService)
830
-
831
- ### 1.49.2 (2026-06-26)
832
- * (gokturk413) feat: rich Tabs editor inside the Properties tab (Tabs Layout group), revert broken dock mount
833
-
834
- ### 1.49.1 (2026-06-26)
835
- * (gokturk413) feat: show Layout/Tabs UI in the Properties dock too (split/tabs screens + controls)
836
-
837
- ### 1.49.0 (2026-06-26)
838
- * (gokturk413) feat: tabs designer rework — embedded (non-deletable/movable) container, tab add/remove/active UI, tab-position
839
-
840
- ### 1.48.0 (2026-06-26)
841
- * (gokturk413) fix(layout): strip stale generated split/tab container when type switched to flex/grid/none (save + runtime defensive) - fixes flex/grid props doing nothing after split->flex
842
-
843
- ### 1.47.0 (2026-06-26)
844
- * (gokturk413) feat(layout): alignment guides - red helper lines when a dragged element's edges/center align with siblings (designer + control editor)
845
-
846
- ### 1.46.0 (2026-06-26)
847
- * (gokturk413) feat(layout): penpot-style canvas grid overlay - track lines + draggable resize handles (live, writes settings.layout)
848
- * (gokturk413) feat(layout): flex layout guides overlay (direction arrow + align/justify label)
849
-
850
- ### 1.45.0 (2026-06-26)
851
- * (gokturk413) feat: BroadcastChannel cross-tab command delivery (sync source with shipped bundle)
852
- * (gokturk413) feat(layout): Phase 3 runtime - generate split/tabs container from settings.layout (saved html = panes only)
853
- * (gokturk413) feat(layout): Layout panel uses the visual button-group UI (flex direction/align/justify/wrap icons, split orientation, type) like the webui-flex-container 'Flex Layout' editor
854
- * (gokturk413) feat(layout): Phase 3 designer - split/tabs wrap-on-load + unwrap-on-save (panes-only html + metadata, container never saved/deletable; stable round-trip)
855
-
856
- ### 1.44.2 (2026-06-26)
857
- * (gokturk413) fix: guard disconnectedCallback dispose + resilient for:/repeat: cleanup
858
- * (gokturk413) feat(layout): add layoutToStyle/applyLayoutStyle mapper
859
- * (gokturk413) feat(layout): runtime applies settings.layout to ScreenViewer root host
860
- * (gokturk413) feat(layout): designer applies settings.layout to canvas root host
861
- * (gokturk413) feat(layout): picker returns metadata; new screen/control/global seed settings.layout
862
- * (gokturk413) feat(layout): Layout panel in Settings tab (live edit, type/flex/grid)
863
- * (gokturk413) feat(layout): Convert-to-layout for legacy flex-container roots (project + global)
864
- * (gokturk413) feat(layout): custom controls apply their settings.layout to host at runtime
865
- * (gokturk413) feat: add 'Remove HabPanel Style' action + dedupe Add; broadcast refresh on global style change
866
- * (gokturk413) feat(layout): Phase 2 - interactive grid track editor (per-track value+unit fr/px/%/auto, add/remove) in Layout panel
867
-
868
- ### 1.44.1 (2026-06-25)
869
- * (gokturk413) fix: for: loop never rendered elements due to shared oldValuesSymbol conflict
870
-
871
- ### 1.44.0 (2026-06-25)
872
- * (gokturk413) feat: advanced template directives, eval→new Function, repeat binding fix
873
-
874
- ### 1.43.1 (2026-06-25)
875
- * (gokturk413) perf: 3D gallery renders single control only, never folders/screens
876
- * (gokturk413) feat: for:/repeat: loop var as element prop, new directives, npm fixes
877
- * (gokturk413) fix: revert www/node_modules/ npm exclusion (needed for runtime - GSAP/Monaco/Three)
878
-
879
- ### 1.43.0 (2026-06-25)
880
- * (gokturk413) fix: screen access control now syncs in **real time** across all surfaces — unchecking a group in the global Permissions dialog instantly clears "Access Denied" on open runtime windows (`uiRefresh` broadcast)
881
- * (gokturk413) fix: backend honours `visibilityEnabled` / `accessibility.enabled` — a disabled restriction with a stale group list no longer keeps blocking
882
- * (gokturk413) fix: the Settings‑tab "Screen Accessibility Control" and the Projects "Screen Access" dialog are now mirrored (single source of truth)
883
- * (gokturk413) perf: 3D galleries no longer render whole folders live — 3D **screens** never preview, 3D **custom controls** preview one‑at‑a‑time on click (large memory saving); 2D controls/widgets unchanged
884
- * (gokturk413) docs: README — bindings (signals/state/object/properties), dynamic properties, current changelog
885
-
886
- ### 1.42.99 (2026-06-24)
887
- * (gokturk413) feat: group‑based access control (runtime + editor), hybrid readable‑source / obfuscated‑artifact build & packaging pipeline, branding
888
- * (gokturk413) feat: global (platform‑default) custom controls — shipped under **Global > CustomControls / 3D Custom Controls**, pre‑seeded on install, editable, usable in every project
889
-
890
- ### 1.42.90 (2026-06)
891
- * (gokturk413) feat: self‑contained multi‑project layout — each project under `mywebui.0.projects/<name>/{data,widgets}` with export/import
892
-
893
- ### 1.42.45 (2026-06)
894
- * (gokturk413) design: neon glassmorphic theme for the solution explorer
895
-
896
- ### 1.42.44 (2026-06)
897
- * (gokturk413) feat: multi‑project support — project selector with create/delete; runtime preview passes `?project=`, plain `runtime.html` always shows default (kiosk safe)
898
-
899
- ### 1.42.42 (2026-06)
900
- * (gokturk413) feat: `dynamic` property tab for every element (works with npm manifest widgets too) — per‑instance dynamic properties with two‑way binding
901
-
902
- ### 1.40.0 (2026-06)
903
- * (gokturk413) feat: 3D Editor (Three.js) — 3D screens & 3D custom controls, signal bindings, asset manager, layout planner
904
-
905
- <!-- older custom‑edition versions: see the full per‑version "news" list in io‑package.json -->
906
-
907
- ### 1.37.0 (2025-10-15)
908
- - fix bug in bundled code
909
- - use minified code for config
910
-
911
- ### 1.36.0 (2025-10-15)
912
- - fix some boxQuads edge cases
913
-
914
- ### 1.35.4 (2025-09-23)
915
- - clear cache on reload
916
-
917
- ### 1.35.3 (2025-09-23)
918
- - object changed to all clients
919
-
920
- ### 1.35.2 (2025-09-23)
921
- - forgett to parse bindings
922
-
923
- ### 1.35.1 (2025-09-23)
924
- - fix reload custom controls
925
-
926
- ### 1.35.0 (2025-09-23)
927
- - better nameing
928
- - changed object notification
929
-
930
- ### 1.34.2 (2025-09-21)
931
- - anaother small fix in signal handling
932
-
933
- ### 1.34.1 (2025-09-20)
934
- - script command wrong name fix
935
-
936
- ### 1.34.0 (2025-09-20)
937
- - designer and script updates
938
-
939
- ### 1.33.0 (2025-08-26)
940
- - fix NaN check
941
-
942
- ### 1.32.0 (2025-08-20)
943
- - Support css prop suggestions
944
-
945
- ### 1.31.6 (2025-08-19)
946
- - Test one more release
947
-
948
- ### 1.31.5 (2025-08-19)
949
- - Fix setting Props with simple scripts
950
-
951
- ### 1.31.4 (2025-08-19)
952
- - SimpleScripts should be able to set Properties
953
-
954
- ### 1.31.3 (2025-08-19)
955
- - NaN not NaN
956
-
957
- ### 1.31.2 (2025-08-18)
958
- - update npms
959
-
960
- ### 1.31.1 (2025-08-17)
961
- - remove nod 18 from github actions
962
-
963
- ### 1.31.0 (2025-08-17)
964
- - update packages
965
- - script support for properties
966
-
967
- ### 1.30.0 (2025-05-25)
968
- - starting indirect binding fix
969
-
970
- ### 1.29.0 (2025-05-25)
971
- - complexer indirect bindings
972
-
973
- ### 1.28.0 (2025-05-03)
974
- - update packages
975
-
976
- ### 1.27.1 (2025-03-30)
977
- - fix xml import
978
-
979
- ### 1.27.0 (2025-03-30)
980
- - edit string in visu property grid
981
- - bindings to properties did not work (in designer)
982
- - html setting did not work sometimes
983
-
984
- ### 1.26.0 (2025-03-04)
985
- - fix error in screenviewer
986
- - update npms
987
- - rename global styles
988
- - allow styling of dialog
989
-
990
- ### 1.25.2 (2025-02-05)
991
- - fix null error on props
992
-
993
- ### 1.25.1 (2025-01-24)
994
- - escape xml
995
- - switch to official selector package
996
-
997
- ### 1.25.0 (2025-01-21)
998
- - fix bindings in custom controls
999
-
1000
- ### 1.24.4 (2025-01-20)
1001
- - switch again to old module shims (error in new one)
1002
-
1003
- ### 1.24.3 (2025-01-20)
1004
- - first load of css bindings
1005
- - fix get box quads with slots
1006
- - fix es module shims
1007
-
1008
- ### 1.24.2 (2025-01-19)
1009
- - revert back es module shims, leads to errors
1010
-
1011
- ### 1.24.1 (2025-01-19)
1012
- - hopefully fix package upload by changed name
1013
-
1014
- ### 1.24.0 (2025-01-19)
1015
- - cleanup www dir
1016
-
1017
- ### 1.23.2 (2025-01-19)
1018
- - one more fix in gulpfile
1019
-
1020
- ### 1.23.1 (2025-01-19)
1021
- - fix gulp should work again
1022
-
1023
- ### 1.23.0 (2025-01-19)
1024
- - fix paste in events assignment
1025
- - iobroker Signal Selector
1026
- - binding to width and height in custom controls
1027
-
1028
- ### 1.22.0 (2025-01-15)
1029
- - local signals browser
1030
- - style completition fixes
1031
- - special bindings for "ring" cameras
1032
-
1033
- ### 1.21.0 (2024-12-28)
1034
- - fix scripts with empty names on css
1035
- - css props with only bindings are not shown
1036
- - remove of css prop should remove binding?
1037
- - Open Screen in sub screen command
1038
-
1039
- ### 1.20.1 (2024-12-03)
1040
- - fix in designer with svgs
1041
-
1042
- ### 1.20.0 (2024-12-03)
1043
- - add a few packages
1044
- - run simple script cmd and update get parent screen
1045
- - update packages, downgrade monaco
1046
- - fix backup
1047
-
1048
- ### 1.19.4 (2024-11-03)
1049
- - copy & paste events
1050
-
1051
- ### 1.19.3 (2024-11-03)
1052
- - support null value
1053
-
1054
- ### 1.19.2 (2024-11-03)
1055
- - use name in classlist
1056
-
1057
- ### 1.19.1 (2024-11-02)
1058
- - copy path for screens/controls
1059
-
1060
- ### 1.19.0 (2024-11-02)
1061
- - fix error in script system
1062
-
1063
- ### 1.18.5 (2024-11-02)
1064
- - compile fix
1065
-
1066
- ### 1.18.4 (2024-11-02)
1067
- - fix wrong shadow root used
1068
-
1069
- ### 1.18.3 (2024-11-01)
1070
- - small typo fix
1071
-
1072
- ### 1.18.2 (2024-11-01)
1073
- - better refcatoring
1074
-
1075
- ### 1.18.1 (2024-11-01)
1076
- - fix screen settings
1077
-
1078
- ### 1.18.0 (2024-11-01)
1079
- - screens are now ex- & imported as xml
1080
-
1081
- ### 1.17.3 (2024-11-01)
1082
- - fix compilation
1083
-
1084
- ### 1.17.2 (2024-11-01)
1085
- - switch combo in complex prop editor
1086
-
1087
- ### 1.17.1 (2024-11-01)
1088
- - selector for properties
1089
-
1090
- ### 1.17.0 (2024-11-01)
1091
- - internal control properties
1092
- - internal screen properties
1093
-
1094
- ### 1.16.3 (2024-10-31)
1095
- - raise errors on unimplemented commands
1096
- - wrong script upgrade
1097
-
1098
- ### 1.16.2 (2024-10-31)
1099
- - wrong default in script
1100
-
1101
- ### 1.16.1 (2024-10-31)
1102
- - fix base custom webcomp bindings
1103
-
1104
- ### 1.16.0 (2024-10-30)
1105
- - fix errors with script system, wrong parent used
1106
-
1107
- ### 1.15.1 (2024-10-08)
1108
- - fix typo in screenviewer
1109
-
1110
- ### 1.15.0 (2024-10-08)
1111
- - fixes in margin & padding
1112
- - work on simpleScripts, add conditions
1113
- - fix _getDomElements in screen viewer
1114
-
1115
- ### 1.14.0 (2024-09-18)
1116
- - update npm packages
1117
-
1118
- ### 1.13.2 (2024-08-21)
1119
- - designer updates
1120
- - add find methods
1121
-
1122
- ### 1.13.1 (2024-08-18)
1123
- - small designer tweaks
1124
-
1125
- ### 1.13.0 (2024-08-18)
1126
- - update designer
1127
-
1128
- ### 1.12.4 (2024-07-25)
1129
- - one more designer update
1130
-
1131
- ### 1.12.3 (2024-07-25)
1132
- - update designer
1133
-
1134
- ### 1.12.2 (2024-07-24)
1135
- - fix offset finding in box drawing
1136
-
1137
- ### 1.12.1 (2024-07-24)
1138
- - update edit text in designer
1139
-
1140
- ### 1.12.0 (2024-07-24)
1141
- - update designer
1142
-
1143
- ### 1.11.3 (2024-06-02)
1144
- - fix load subfolders
1145
-
1146
- ### 1.11.2 (2024-06-01)
1147
- - screens grid view
1148
-
1149
- ### 1.11.1 (2024-05-31)
1150
- - fix icons view path
1151
-
1152
- ### 1.11.0 (2024-05-31)
1153
- - add a icons view
1154
-
1155
- ### 1.10.9 (2024-05-30)
1156
- - show undo count
1157
-
1158
- ### 1.10.8 (2024-05-30)
1159
- - better tooltip for multiplex
1160
- - remove unused solution entries
1161
-
1162
- ### 1.10.7 (2024-05-29)
1163
- - fix iframe d&d
1164
-
1165
- ### 1.10.6 (2024-05-29)
1166
- - better evt editor for new events
1167
-
1168
- ### 1.10.5 (2024-05-29)
1169
- - show events on mywebui controls
1170
-
1171
- ### 1.10.4 (2024-05-29)
1172
- - work on events
1173
-
1174
- ### 1.10.3 (2024-05-29)
1175
- - add events service for manifest
1176
-
1177
- ### 1.10.2 (2024-05-28)
1178
- - fix getDomelement
1179
-
1180
- ### 1.10.1 (2024-05-28)
1181
- - support classlist in setElementProperty
1182
-
1183
- ### 1.10.0 (2024-05-28)
1184
- - fix screen & parent screen access
1185
-
1186
- ### 1.9.10 (2024-05-28)
1187
- - fixes for blockly
1188
-
1189
- ### 1.9.9 (2024-05-28)
1190
- - fix firefox
1191
-
1192
- ### 1.9.8 (2024-05-27)
1193
- - try faster loading
1194
-
1195
- ### 1.9.7 (2024-05-27)
1196
- - fix change root style
1197
-
1198
- ### 1.9.6 (2024-05-27)
1199
- - fix null ref
1200
-
1201
- ### 1.9.5 (2024-05-27)
1202
- - few small changes
1203
-
1204
- ### 1.9.4 (2024-05-27)
1205
- - fix scripts not workin
1206
-
1207
- ### 1.9.3 (2024-05-27)
1208
- - update packages
1209
-
1210
- ### 1.9.2 (2024-05-27)
1211
- - fix screenviewer styles
1212
-
1213
- ### 1.9.1 (2024-05-27)
1214
- - fix first div styled from designer when zoom
1215
-
1216
- ### 1.9.0 (2024-05-27)
1217
- - fix zooming of child screens
1218
-
1219
- ### 1.8.9 (2024-05-26)
1220
- - one more spec. calculation fix
1221
-
1222
- ### 1.8.8 (2024-05-26)
1223
- - need to await stylesheet parse
1224
-
1225
- ### 1.8.7 (2024-05-26)
1226
- - fix specificity calculation
1227
-
1228
- ### 1.8.6 (2024-05-21)
1229
- - fix in designer property grid
1230
-
1231
- ### 1.8.5 (2024-05-21)
1232
- - stretch property for screenviewer
1233
- - screennames in property list (property services now async)
1234
-
1235
- ### 1.8.4 (2024-05-20)
1236
- - fix typo in bindingshelper
1237
-
1238
- ### 1.8.3 (2024-05-20)
1239
- - fix style parsing and style bindings at runtime
1240
-
1241
- ### 1.8.2 (2024-05-19)
1242
- - fix in manifest parser of designer
1243
-
1244
- ### 1.8.1 (2024-05-19)
1245
- - fix manifest parsing
1246
-
1247
- ### 1.8.0 (2024-05-19)
1248
- - bindings inside of css
1249
-
1250
- ### 1.7.8 (2024-05-19)
1251
- - fix remove of ctx menu
1252
-
1253
- ### 1.7.7 (2024-05-17)
1254
- - fix stylesheet matching
1255
-
1256
- ### 1.7.6 (2024-05-17)
1257
- - fix edit text in transformed surface
1258
-
1259
- ### 1.7.5 (2024-05-17)
1260
- - more fixes with transformed elements
1261
-
1262
- ### 1.7.4 (2024-05-16)
1263
- - designer transformation fixes
1264
-
1265
- ### 1.7.3 (2024-05-15)
1266
- - fix transform combinations in designer
1267
- - fix treeview jump to
1268
-
1269
- ### 1.7.2 (2024-05-15)
1270
- - few more small designer fixes
1271
-
1272
- ### 1.7.1 (2024-05-15)
1273
- - fix in designer
1274
-
1275
- ### 1.7.0 (2024-05-15)
1276
- - Add screen contextmenu
1277
- - support editing of repeat in grid colum/row templates
1278
- - designer updates
1279
- - force styles
1280
-
1281
- ### 1.6.5 (2024-05-07)
1282
- - designer update
1283
-
1284
- ### 1.6.4 (2024-05-05)
1285
- - expand/collapse of child nodes in tree
1286
- - undock all windows
1287
-
1288
- ### 1.6.3 (2024-05-05)
1289
- - jump to all css declarations
1290
-
1291
- ### 1.6.2 (2024-05-04)
1292
- - jump to styles
1293
-
1294
- ### 1.6.1 (2024-05-02)
1295
- - better icons
1296
-
1297
- ### 1.6.0 (2024-05-02)
1298
- - remove metro ui
1299
-
1300
- ### 1.5.4 (2024-05-02)
1301
- - fix delay command
1302
-
1303
- ### 1.5.3 (2024-05-02)
1304
- - fixes after package updates
1305
-
1306
- ### 1.5.2 (2024-05-02)
1307
- - removed missing prop
1308
-
1309
- ### 1.5.1 (2024-05-02)
1310
- - add delay in blockly & npm updates
1311
-
1312
- ### 1.5.0 (2024-04-28)
1313
- - nicer two way bindings
1314
-
1315
- ### 1.4.9 (2024-04-24)
1316
- - fix toastify
1317
-
1318
- ### 1.4.8 (2024-04-20)
1319
- - fix for controller v6
1320
-
1321
- ### 1.4.7 (2024-04-20)
1322
- - compact mode on controler 6 support
1323
-
1324
- ### 1.4.6 (2024-04-10)
1325
- - fix encoding for all files
1326
-
1327
- ### 1.4.5 (2024-04-10)
1328
- - fix gulp5 copy breaks fonts
1329
-
1330
- ### 1.4.4 (2024-04-10)
1331
- - fix compile error
1332
-
1333
- ### 1.4.3 (2024-04-10)
1334
- - fix copy of font
1335
-
1336
- ### 1.4.2 (2024-04-09)
1337
- - stretch support in screens
1338
-
1339
- ### 1.4.1 (2024-04-09)
1340
- - support relative signal paths in scripts
1341
-
1342
- ### 1.4.0 (2024-04-08)
1343
- - parameter support for scripts
1344
-
1345
- ### 1.3.2 (2024-04-02)
1346
- - designer upd
1347
-
1348
- ### 1.3.1 (2024-04-01)
1349
- - designer updates for toolbars
1350
-
1351
- ### 1.3.0 (2024-04-01)
1352
- - designer update
1353
-
1354
- ### 1.2.13 (2024-03-28)
1355
- - disabled control fix
1356
-
1357
- ### 1.2.12 (2024-03-28)
1358
- - add dayjs for date formating
1359
-
1360
- ### 1.2.11 (2024-03-28)
1361
- - add a indirection level in complex signal binding
1362
-
1363
- ### 1.2.10 (2024-03-28)
1364
- - package upgrades
1365
-
1366
- ### 1.2.9 (2024-03-26)
1367
- - try fix runtime once more
1368
-
1369
- ### 1.2.8 (2024-03-26)
1370
- - runtime should not load designer
1371
-
1372
- ### 1.2.7 (2024-03-26)
1373
- - fix used wrong script system
1374
-
1375
- ### 1.2.6 (2024-03-25)
1376
- - one more small runtime fix
1377
-
1378
- ### 1.2.5 (2024-03-25)
1379
- - fix runtime once more
1380
-
1381
- ### 1.2.4 (2024-03-25)
1382
- - fix runtime
1383
-
1384
- ### 1.2.3 (2024-03-24)
1385
- - designer upgrade for new features
1386
-
1387
- ### 1.2.2 (2024-03-11)
1388
- - fix broken signals selector in scripts
1389
-
1390
- ### 1.2.1 (2024-03-11)
1391
- - build broken after refactoring
1392
-
1393
- ### 1.2.0 (2024-03-11)
1394
- - extracted some code for usability
1395
- - better text edit
1396
- - better split view (selection matches now)
1397
- - round pixel values
1398
-
1399
- ### 1.1.4 (2024-03-02)
1400
- - designer-update: mathML support, svg foreignObject support
1401
- - better text edit support
1402
-
1403
- ### 1.1.3 (2024-02-29)
1404
- - text edit now workin
1405
- - package updates
1406
-
1407
- ### 1.1.2 (2024-02-27)
1408
- - fix broken designer package
1409
-
1410
- ### 1.1.1 (2024-02-27)
1411
- - designer and docking fixes
1412
-
1413
- ### 1.1.0 (2024-02-26)
1414
- - support undock to new browser window
1415
- - preview fixes for position: static in styles
1416
-
1417
- ### 1.0.56 (2024-02-26)
1418
- - screenviewer - add also nodes from domparser head
1419
-
1420
- ### 1.0.55 (2024-02-22)
1421
- - more designer fixes
1422
-
1423
- ### 1.0.54 (2024-02-22)
1424
- - multiple designer fixes
1425
-
1426
- ### 1.0.53 (2024-02-19)
1427
- - fix lazy bound lit event name
1428
-
1429
- ### 1.0.52 (2024-02-19)
1430
- - fix captured local
1431
-
1432
- ### 1.0.51 (2024-02-19)
1433
- - fix lazy loaded lit elments
1434
- - fix script url
1435
-
1436
- ### 1.0.50 (2024-02-18)
1437
- - again fix in class binding
1438
-
1439
- ### 1.0.49 (2024-02-18)
1440
- - class is attribute in bindings
1441
- - fix error logging
1442
-
1443
- ### 1.0.48 (2024-02-17)
1444
- - fix wunderbaum error
1445
-
1446
- ### 1.0.47 (2024-02-15)
1447
- - designer fixes with property grid
1448
-
1449
- ### 1.0.46 (2024-02-15)
1450
- - designer updates
1451
-
1452
- ### 1.0.45 (2024-02-12)
1453
- - update designer with bugfixes
1454
-
1455
- ### 1.0.44 (2024-02-11)
1456
- - fix bindings in designer
1457
-
1458
- ### 1.0.43 (2024-02-11)
1459
- - refresh tree when controls deleted
1460
-
1461
- ### 1.0.42 (2024-02-11)
1462
- - fix grid resize
1463
- - fix grid extension display
1464
-
1465
- ### 1.0.41 (2024-02-10)
1466
- - better element drawing (with undo)
1467
- - better title extension
1468
-
1469
- ### 1.0.40 (2024-02-10)
1470
- - dblclick in solution should not change tool
1471
- - designer update for performance fixes
1472
-
1473
- ### 1.0.39 (2024-02-09)
1474
- - upgrade designer package once more to fix some issues
1475
-
1476
- ### 1.0.38 (2024-02-09)
1477
- - fix blockly
1478
- - add blockly templated string
1479
- - work on adopted styles
1480
- - update designer to fix snaplines
1481
-
1482
- ### 1.0.37 (2024-01-31)
1483
- - designer fix for background
1484
-
1485
- ### 1.0.36 (2024-01-31)
1486
- - upgade to new designer for better style encapsulation
1487
-
1488
- ### 1.0.35 (2024-01-30)
1489
- - package upgrades (fix in designer for css patching)
1490
- - typos
1491
-
1492
- ### 1.0.34 (2024-01-28)
1493
- - indirect signal for $ access
1494
-
1495
- ### 1.0.33 (2024-01-24)
1496
- - one more designer update
1497
-
1498
- ### 1.0.32 (2024-01-24)
1499
- - fix for nested stylesheets
1500
-
1501
- ### 1.0.31 (2024-01-23)
1502
- - string could be null
1503
-
1504
- ### 1.0.30 (2024-01-22)
1505
- - better script errors
1506
-
1507
- ### 1.0.29 (2024-01-22)
1508
- - remove a few errors
1509
-
1510
- ### 1.0.28 (2024-01-22)
1511
- - npm upgrade for error of undoservice
1512
-
1513
- ### 1.0.27 (2024-01-22)
1514
- - toast message on errors
1515
-
1516
- ### 1.0.26 (2024-01-22)
1517
- - npm package upgrades
1518
-
1519
- ### 1.0.25 (2024-01-21)
1520
- - use appendChild
1521
-
1522
- ### 1.0.24 (2024-01-21)
1523
- - fix later loaded scripts
1524
-
1525
- ### 1.0.23 (2024-01-21)
1526
- - twoway should only set first value
1527
- - fix error with noParse
1528
-
1529
- ### 1.0.22 (2024-01-20)
1530
- - fix binding with unit
1531
- - fix refactor service missing command
1532
-
1533
- ### 1.0.21 (2024-01-19)
1534
- - fix designer grid overlay
1535
- - stecil ackage hacks
1536
-
1537
- ### 1.0.20 (2024-01-18)
1538
- - fix broken split view
1539
-
1540
- ### 1.0.19 (2024-01-17)
1541
- - simpler one way bindings with expressions
1542
-
1543
- ### 1.0.18 (2024-01-17)
1544
- - text selection selects in designer
1545
-
1546
- ### 1.0.17 (2024-01-16)
1547
- - fix opacity of D&D node
1548
-
1549
- ### 1.0.16 (2024-01-16)
1550
- - fix drag drop of tree nodes
1551
-
1552
- ### 1.0.15 (2024-01-14)
1553
- - support upper/lowercase and spaces in screens & controls
1554
-
1555
- ### 1.0.13 (2024-01-14)
1556
- - correct event name in lit bindings
1557
-
1558
- ### 1.0.12 (2024-01-14)
1559
- - upgrade baseCustomWebcomp for attribute binding
1560
-
1561
- ### 1.0.11 (2024-01-14)
1562
- - API for reading object lists
1563
-
1564
- ### 1.0.10 (2024-01-14)
1565
- - fix selected tool
1566
-
1567
- ### 1.0.9 (2024-01-14)
1568
- - bugfix controls editor
1569
-
1570
- ### 1.0.8 (2024-01-14)
1571
- - fix import/export
1572
-
1573
- ### 1.0.7 (2024-01-14)
1574
- - bigger formula editor when multiline
1575
-
1576
- ### 1.0.6 (2024-01-14)
1577
- - draw widgets when selected in tree
1578
-
1579
- ### 1.0.5 (2024-01-14)
1580
- - bind to iobroker objects (via $ prefix)
1581
-
1582
- ### 1.0.4 (2024-01-14)
1583
- - fix open screens in folders
1584
-
1585
- ### 1.0.3 (2024-01-14)
1586
- - only lowercase folders
1587
-
1588
- ### 1.0.2 (2024-01-14)
1589
- - variablen in convertern
1590
- - configurable meta tags
1591
-
1592
- ### 1.0.1 (2024-01-13)
1593
- - fix issue with npm
1594
-
1595
- ### 1.0.0 (2024-01-13)
1596
- - new script command: CalculateSignalValue
1597
- - javascript code completition
1598
- - better types in code completition
1599
- - fix writing of child nodes if content is bound at design time
1600
- - use monaco editor in expressions
1601
- - use custom var names in expressions
1602
- - Screens & Controls can have subfolders
1603
- - decl. shadow dom support in screen viewer
1604
- - allow 'local_' as tag prefix for local vars
1605
-
1606
- ### 0.23.3 (2024-01-04)
1607
- - add local valueAsNumber property
1608
-
1609
- ### 0.23.2 (2024-01-03)
1610
- - again fix runtime was not initialized
1611
-
1612
- ### 0.23.1 (2024-01-03)
1613
- - fix runtime was not initialized
1614
-
1615
- ### 0.23.0 (2024-01-03)
1616
- - todo, support 2way bindings too custom properties
1617
- - code completition for iobrokerHandler and runtime
1618
- - simple scripts, access value of event
1619
-
1620
- ### 0.22.7 (2023-12-25)
1621
- - and one more...
1622
-
1623
- ### 0.22.6 (2023-12-25)
1624
- - and one more fix on importmaps
1625
-
1626
- ### 0.22.5 (2023-12-25)
1627
- - more fixes with import map
1628
-
1629
- ### 0.22.4 (2023-12-25)
1630
- - work on export directive
1631
-
1632
- ### 0.22.3 (2023-12-25)
1633
- - fix missing .js extensions
1634
-
1635
- ### 0.22.2 (2023-12-25)
1636
- - fix scripts
1637
-
1638
- ### 0.22.1 (2023-12-25)
1639
- - add open screen in blockly
1640
-
1641
- ### 0.22.0 (2023-12-25)
1642
- - work on esbuild (but not yet ready, delayed till blockly is ESM)
1643
- - bugfixes with scripts
1644
- - remove typescript, use javascript directly
1645
- - typed value on SetValue function
1646
-
1647
- ### 0.21.3 (2023-12-20)
1648
- - fix set style
1649
-
1650
- ### 0.21.2 (2023-12-20)
1651
- - more commands in blockly
1652
-
1653
- ### 0.21.1 (2023-12-19)
1654
- - fixed paths
1655
-
1656
- ### 0.21.0 (2023-12-19)
1657
- - start of blockly support
1658
-
1659
- ### 0.20.7 (2023-12-15)
1660
- - fix importmap creation missed "/"
1661
-
1662
- ### 0.20.6 (2023-12-12)
1663
- - few wunderbaum fixes
1664
-
1665
- ### 0.20.5 (2023-12-11)
1666
- - better custom properties view
1667
-
1668
- ### 0.20.4 (2023-12-11)
1669
- - fix in css prop binding
1670
-
1671
- ### 0.20.3 (2023-12-11)
1672
- - update designer npm
1673
-
1674
- ### 0.20.2 (2023-12-11)
1675
- - fix for class binding
1676
-
1677
- ### 0.20.1 (2023-12-11)
1678
- - binding for classes
1679
-
1680
- ### 0.20.0 (2023-12-11)
1681
- - allow bindings to css vars
1682
-
1683
- ### 0.19.3 (2023-12-10)
1684
- - switch loglevel
1685
-
1686
- ### 0.19.2 (2023-12-10)
1687
- - package updates
1688
-
1689
- ### 0.19.1 (2023-12-07)
1690
- - fix load error
1691
-
1692
- ### 0.19.0 (2023-12-07)
1693
- - waitForReady needs to be awaited
1694
-
1695
- ### 0.18.15 (2023-12-06)
1696
- - fix missing null check
1697
-
1698
- ### 0.18.14 (2023-12-06)
1699
- - fix normal binding unsubscribe
1700
-
1701
- ### 0.18.13 (2023-12-06)
1702
- - fix historic binding unsubscribe
1703
-
1704
- ### 0.18.12 (2023-12-06)
1705
- - remove bindings in customcontrols
1706
-
1707
- ### 0.18.11 (2023-12-06)
1708
- - fix broken load historic
1709
-
1710
- ### 0.18.10 (2023-12-06)
1711
- - load historic only when previous load is finished
1712
-
1713
- ### 0.18.9 (2023-12-05)
1714
- - fix tooltips
1715
-
1716
- ### 0.18.8 (2023-12-05)
1717
- - lazy remove the title
1718
-
1719
- ### 0.18.7 (2023-12-05)
1720
- - better fix for monaco
1721
-
1722
- ### 0.18.6 (2023-12-05)
1723
- - fix for monaco bug
1724
- - title removed
1725
-
1726
- ### 0.18.5 (2023-12-05)
1727
- - code completition for base custom webcomponent
1728
- - object property type
1729
-
1730
- ### 0.18.4 (2023-12-03)
1731
- - better text for historic bindings cancel
1732
-
1733
- ### 0.18.3 (2023-12-03)
1734
- - fix reload in dynamics editor
1735
-
1736
- ### 0.18.2 (2023-12-03)
1737
- - ui for historic binding
1738
- - fixes in refactor view
1739
-
1740
- ### 0.18.1 (2023-12-03)
1741
- - fixes in refactor service
1742
-
1743
- ### 0.18.0 (2023-12-01)
1744
- - tooltip in solution explorer
1745
- - npm upgrade of designer
1746
- - refactor view for bindings and scripts
1747
-
1748
- ### 0.17.0 (2023-11-29)
1749
- - remove 2 uneeded files
1750
- - designer update
1751
-
1752
- ### 0.16.6 (2023-11-28)
1753
- - check for invalid propertynames
1754
- - move properties
1755
-
1756
- ### 0.16.5 (2023-11-27)
1757
- - copy screen and custom controls
1758
-
1759
- ### 0.16.4 (2023-11-27)
1760
- - fix usage of mywebui in windows
1761
-
1762
- ### 0.16.3 (2023-11-24)
1763
- - extra style for font declarations, they are not allowed in shadow dom
1764
-
1765
- ### 0.16.2 (2023-11-23)
1766
- - fix remove script command
1767
-
1768
- ### 0.16.1 (2023-11-23)
1769
- - additional file dnd
1770
-
1771
- ### 0.16.0 (2023-11-23)
1772
- - add additional files node and upload
1773
-
1774
- ### 0.15.1 (2023-11-22)
1775
- - export as xml (screens & controls)
1776
- - binding historic with reload
1777
- - fix dialog
1778
-
1779
- ### 0.15.0 (2023-11-19)
1780
- - uncloseable dialog
1781
- - css properties for dialog
1782
- - binding to historic data
1783
-
1784
- ### 0.14.1 (2023-11-12)
1785
- - dialog centered
1786
-
1787
- ### 0.14.0 (2023-11-12)
1788
- - add simple dialog
1789
-
1790
- ### 0.13.1 (2023-11-11)
1791
- - two way bindings with expressions
1792
-
1793
- ### 0.13.0 (2023-11-09)
1794
- - fix upercase screen names in runtime
1795
- - raster in designer is now adjustable
1796
- - copy object nodes now copies complete string
1797
- - context menu to directly edit custom element
1798
- - fix handler path in script
1799
- - uiChangedView now workin
1800
- - error when importing invalid file (for example html instead of json)
1801
-
1802
- ### 0.12.3 (2023-09-20)
1803
- - after eval removal, functions need a return
1804
-
1805
- ### 0.12.2 (2023-09-20)
1806
- - events names for 2way bindings need a editor
1807
-
1808
- ### 0.12.1 (2023-09-20)
1809
- - two way for indirect bindings
1810
-
1811
- ### 0.12.0 (2023-09-20)
1812
- - support indirect bindings via {...} in signals (like in vis)
1813
-
1814
- ### 0.11.2 (2023-09-17)
1815
- - check npm package name
1816
-
1817
- ### 0.11.1 (2023-09-16)
1818
- - fix build on windows
1819
-
1820
- ### 0.11.0 (2023-09-11)
1821
- - dragdrop fixes
1822
- - screen/control size fixes
1823
- - connected/disconnected callbacks
1824
-
1825
- ### 0.10.0 (2023-09-10)
1826
- - new script commands
1827
- - bugfix with bindings and empty events
1828
- - select exported function in javascript
1829
- - bugfix in save of screens
1830
- - typescript in scripts
1831
- - started work on translateable runtime
1832
-
1833
- ### 0.9.0 (2023-09-06)
1834
- - signal selector in properties
1835
- - screen selector in properties
1836
- - new screen had style in scripts
1837
- - indirect value/property acces from scripts via editor
1838
- - list multiple undo entries (on hold of undo)
1839
-
1840
- ### 0.8.0 (2023-09-03)
1841
- - update designer to add and fix some commands
1842
- - move screen/control scripts out of html code
1843
- - add a javascript editor view
1844
- - bugfix when states where null after a fresh install
1845
- - designer addons do now work again
1846
- - docking framework updated, cause of bugs with undocking
1847
-
1848
- ### 0.7.0 (2023-09-01)
1849
- - screens and controls have now settings (width, height, useGlobalStyle)
1850
-
1851
- ### 0.6.0 (2023-09-01)
1852
- - removed many uneeded files from installation
1853
-
1854
- ### 0.5.1 (2023-09-01)
1855
- - show version in ui
1856
-
1857
- ### 0.5.0 (2023-09-01)
1858
- - signal as property type
1859
- - removed svg-image control
1860
- - shorter custom control tag name
1861
- - better dynamics editor
1862
- - dock ui fixes
1863
- - control ui from backend (switch view, reload)
1864
-
1865
- ### 0.4.0 (2023-08-30)
1866
- - remove uneeded files from upload
1867
- - remove icons into extra iobroker packages
1868
- - support icon adapters
1869
- - rename screens & controls
1870
-
1871
- ### 0.3.0 (2023-08-29)
1872
- - default value for custom properties
1873
- - open screens only once
1874
- - property bindings default one way
1875
-
1876
- ### 0.2.3 (2023-08-28)
1877
- - rework how custom controls are initalized
1878
-
1879
- ### 0.2.2 (2023-08-28)
1880
- - better support & fixes of custom elements
1881
- - enum properties in custom controls
1882
- - sample custom controls
1883
-
1884
- ### 0.2.1 (2023-08-28)
1885
- - null ref fix in bindings
1886
-
1887
- ### 0.2.0 (2023-08-28)
1888
- - Import/Export of Screens/Images/Controls
1889
- - Define your own Controls directly in mywebui
1890
- - Drag/Drop of Icons/Images to Properties
1891
- - Drag/Drop of objects to Bindings-Editor Signalname
1892
- - Basic functionality of CustomControls
1893
-
1894
- ### 0.1.0 (2023-08-27)
1895
- - initial public release
1896
-
1897
- ## Credits
1898
-
1899
- **Original Author:** jogibear9988 (Jochen Kühner)
1900
- **Custom Edition:** gokturk413
1901
-
1902
- This is a custom edited and enhanced version of the original ioBroker.mywebui adapter with additional features and hardware-bound licensing.
1903
-
1904
- ### Original Repository
1905
- https://github.com/iobroker-community-adapters/ioBroker.mywebui
1906
-
1907
- ---
1908
-
1909
- ## License
1910
-
1911
- Creative Commons Attribution-NonCommercial 4.0 International (CC-BY-NC-4.0)
1912
-
1913
- **Original Work:**
1914
- Copyright (c) 2025 jogibear9988 <jochen.kuehner@gmx.de>
1915
-
1916
- **Modified Work:**
1917
- Copyright (c) 2026 gokturk413
1918
-
1919
- See the [LICENSE](./LICENSE) file for the full legal text.
1920
-
1921
- **Note:** This custom edition includes proprietary license validation and hardware binding features.
1
+ # ioBroker.mywebui
2
+
3
+ ![Number of Installations](https://iobroker.live/badges/mywebui-installed.svg)
4
+ ![Stable version](https://iobroker.live/badges/mywebui-stable.svg)
5
+ [![NPM version](https://img.shields.io/npm/v/iobroker.mywebui.svg)](https://www.npmjs.com/package/iobroker.mywebui)
6
+ [![Downloads](https://img.shields.io/npm/dm/iobroker.mywebui.svg)](https://www.npmjs.com/package/iobroker.mywebui)
7
+
8
+ [![NPM](https://nodei.co/npm/iobroker.mywebui.png?downloads=true)](https://nodei.co/npm/iobroker.mywebui/)
9
+
10
+ **Custom edited mywebui adapter by gokturk413** - Enhanced version with additional features and optimizations.
11
+
12
+ > **⚠️ IMPORTANT: This adapter requires a valid license key to operate.**
13
+ > This is a hardware-bound licensed version. Contact **gokturk413** for licensing information.
14
+
15
+ mywebui for ioBroker
16
+
17
+ ![image](https://raw.githubusercontent.com/iobroker-community-adapters/ioBroker.mywebui/master/screenshot.png)
18
+
19
+ ## Documentation
20
+
21
+ Authoring guides — building screens, binding live data, writing your own
22
+ controls — live in **[docs/README.md](docs/README.md)**. Start with
23
+ [Getting started](docs/getting-started.md), then
24
+ [Bindings](docs/bindings.md).
25
+
26
+ ## Description
27
+
28
+ This is a complete visualization system for ioBroker.
29
+
30
+ It includes features like:
31
+
32
+ - simple scripting language
33
+ - binding to ioBroker objects including converters & javascript expressions
34
+ - pasting of images from clipboard
35
+ - drag&drop of external images
36
+ - drag&drop of ioBroker objects to automaticy create bindings
37
+ - drag&drop of ioBroker objects to Properties to create Bindings to them
38
+ - relative signal paths to ioBroker objects in screens (the full path can be handed over from outside into the screen)
39
+ - split view editing of layout and html code
40
+ - global stylesheet support
41
+ - usage of npm packages containing webcomponents
42
+ - screens inside of screens
43
+ - use all icon packages from ioBroker
44
+ - use charts from ioBroker
45
+ - use combined signals object id's e.g. "mywebui.0.test3.{mywebui.0.test3.select}" -> this will use the value from mywebui.0.test3.select for the signal name
46
+
47
+ There is more information about specific topics in the [wiki](https://github.com/iobroker-community-adapters/ioBroker.mywebui/wiki) (the German section has a few more articles than the English one).
48
+
49
+ ## Installation
50
+
51
+ ### Quick Install
52
+
53
+ ```bash
54
+ iobroker install gokturk413/iobroker.mywebui
55
+ ```
56
+
57
+ ### Dependencies
58
+
59
+ - You need the Web Adapter installed. It works with the following settings: ![image](https://raw.githubusercontent.com/iobroker-community-adapters/ioBroker.mywebui/master/web.png)
60
+
61
+ ### License Setup
62
+
63
+ This adapter requires a license key to operate. After installation:
64
+
65
+ 1. **First Start** - The adapter will fail (this is normal). Check logs for your Hardware ID:
66
+ ```bash
67
+ iobroker logs mywebui --lines 50
68
+ ```
69
+
70
+ 2. **Configure License** - Open Admin Panel → Instances → mywebui → Settings
71
+ - Enter the license key provided by gokturk413
72
+ - Save and restart
73
+
74
+ 3. **Auto-Registration** - Your hardware will be automatically registered on first successful start
75
+
76
+ For detailed setup instructions, see [LICENSE_SETUP_PUBLIC.md](./LICENSE_SETUP_PUBLIC.md)
77
+
78
+ **Note:** This is a hardware-bound license. The adapter will only work on registered hardware. Contact **gokturk413** for licensing.
79
+
80
+ **How the machine is recognised.** The Hardware ID comes from the SMBIOS system UUID and the OS machine id: Windows MachineGuid, `/etc/machine-id` on Linux. USB devices, monitors and network adapters do not change it.
81
+
82
+ The ID is read again at every licence check, so a VM cloned or moved while it runs is noticed. On Windows it is read straight from the firmware table and the registry, with no helper process. If one of the IDs cannot be read for a moment, its last value is used for up to 24 hours, and a passing hiccup never changes the identity.
83
+
84
+ If the SMBIOS UUID stays unreadable, the licence enters a grace period (`identity-unreadable`) while the key still lists this machine. Editing stays possible during grace; the licence becomes *restricted* only when grace runs out.
85
+
86
+ ### 🔧 SCADA Utility Functions (Auto-Installed)
87
+
88
+ This adapter includes powerful SCADA utility functions for value formatting, unit conversions, and more.
89
+
90
+ **Automatic Installation:** SCADA functions are automatically installed when you install this adapter via npm or GitHub. No manual setup required!
91
+
92
+ The setup runs automatically during `npm install` (postinstall hook) and copies utility files to your ioBroker data directory.
93
+
94
+ **Manual Setup (if needed):**
95
+ ```bash
96
+ npm run setup-scada
97
+ ```
98
+
99
+ For detailed usage instructions, see [SCADA_SETUP.md](./SCADA_SETUP.md)
100
+
101
+ **Features:**
102
+ - Value formatting with decimals, limits, scaling
103
+ - Temperature, pressure, flow conversions
104
+ - Linear scaling for analog signals (4-20mA, 0-10V)
105
+ - Alarm checking with color coding
106
+ - Statistical functions (average, moving average)
107
+ - Time formatting and deadband/hysteresis functions
108
+ - Global access in all Custom Controls and Formulas
109
+
110
+ ---
111
+
112
+ ## Custom Edition Features (gokturk413)
113
+
114
+ This custom edition extends the original mywebui with a SCADA‑oriented feature set. The
115
+ items below are the major additions over upstream.
116
+
117
+ ### 🧩 Multi‑project support
118
+ - Several independent projects in one adapter, each fully self‑contained under
119
+ `mywebui.0.projects/<name>/{data,widgets}` (screens, 3D screens, custom controls,
120
+ global style/script, installed npm widgets).
121
+ - Project selector in the designer toolbar with **create / rename / delete / export /
122
+ import** per project. The runtime opens a project via `runtime.html?project=<name>`
123
+ (parameter‑less `runtime.html` always shows `default`, kiosk‑safe).
124
+
125
+ ### 🟦 3D Editor (Three.js)
126
+ - A full 3D screen editor and 3D custom controls alongside the classic 2D designer:
127
+ `3D Screens` and `3D Custom Controls` (nested under `Controls`).
128
+ - Scene editing with assets, lights, camera, grid, signal bindings and drives; rendered
129
+ in the runtime via the embedded 3D viewer.
130
+
131
+ ### 📦 Global (platform‑default) custom controls
132
+ - A library of project‑independent default controls (2D + a sample 3D control) that ship
133
+ with the platform and are seeded on install into `mywebui.0.data/global/`.
134
+ - Editable, usable in every project's screens, browsable under the `Global` tree node
135
+ (`CustomControls`, `3D Custom Controls`). Project controls with the same name take
136
+ precedence over a global one.
137
+
138
+ ### 🔐 Group‑based access control (Screen Accessibility)
139
+ Server‑enforced (the adapter resolves ioBroker group membership from the DB — the
140
+ frontend is not trusted), runtime‑gated visualization access:
141
+ - **Runtime (read):** *blacklist* model — ticking a group **blocks** it from a screen at
142
+ runtime; unticked groups are allowed; nothing ticked = open to all. Per‑screen
143
+ (overrides global) **and** a project‑wide global default. When blocked, the screen shows
144
+ an **“Access Denied” message** or **redirects** to another screen (configurable).
145
+ - **Editor (write):** the designer is **administrator‑group only**; the built‑in `admin`
146
+ user always has editor access and can additionally forbid specific administrator users
147
+ from the editor. The built‑in `admin` user can be blocked at *runtime* but never from
148
+ the editor.
149
+ - Two toolbar panels: **🔐 Permissions** (project‑level groups + editor‑user control) and
150
+ **🗂️ Screen Access** (per‑screen). Both mirror the Settings‑tab **Screen Accessibility
151
+ Control** and sync on save.
152
+ - ioBroker's own file/object ACLs are left at their defaults — access control is purely
153
+ app‑level so it does not conflict with the platform's permission system.
154
+
155
+ ### 🎨 Theming & branding
156
+ - Light/dark/other theme adaptation via `color-scheme` + `light-dark()` + `--ui-*`
157
+ design tokens across the whole designer.
158
+ - Neon‑glassmorphic solution explorer, branded tab title (**MYWEBUI DESIGNER** /
159
+ **MYWEBUI**) and custom favicon.
160
+
161
+ ### 🔒 License protection & code obfuscation
162
+ - Hardware‑bound license validation (Ed25519‑signed, validated by the obfuscated backend;
163
+ the frontend shows a license overlay if invalid).
164
+ - **Hybrid build model:** you develop with **readable source** (git, local); the published
165
+ npm package ships **obfuscated** backend + own frontend (vendored libraries untouched).
166
+ Obfuscation runs in the CI publish workflow on a disposable runner — your source is never
167
+ obfuscated in place. License parts are obfuscated locally (their secret keys never enter
168
+ CI). Source maps and readable license source are excluded from the npm package.
169
+
170
+ ### 🔗 Bindings (signals, states, objects, properties)
171
+ Bindings connect an element's attribute/property/content to a data source. In the
172
+ designer click the **□ button** next to a property in the property grid to open the
173
+ binding editor. A binding is written into the HTML as a `bind-…` attribute.
174
+
175
+ **Binding targets** (what is bound on the element):
176
+ | Attribute | Effect |
177
+ |---|---|
178
+ | `bind-prop:<property>` | a DOM/web‑component property (e.g. `bind-prop:hidden`, `bind-prop:disabled`, `bind-prop:value`, `bind-prop:text-content`, `bind-prop:inner-html`) |
179
+ | `bind-attr:<attribute>` | an HTML attribute |
180
+ | `bind-content:text` / `bind-content:html` | the element's text / HTML content |
181
+ | `bind-css:<class>` | toggles a CSS class |
182
+ | `bind-cssvar:<--var>` | sets a CSS custom property |
183
+ | `bind-style:<prop>` | a single inline style property |
184
+
185
+ **Source forms** (where the value comes from — the right‑hand side of the binding):
186
+ | Form | Meaning |
187
+ |---|---|
188
+ | `myAdapter.0.device.STATE` | plain object id → the state **value** (`state.val`); two‑way for inputs |
189
+ | `state:myAdapter.0.device.STATE` | the **whole state** object → use `.val`, `.ack`, `.ts`, `.lc`, `.q` (e.g. show quality/timestamp) |
190
+ | `object:myAdapter.0.device.STATE` | the ioBroker **object** (`common`, `native`, …) e.g. unit/min/max/role |
191
+ | `??propertyName` | a **screen/control property** (instance property declared on the screen or custom control) |
192
+ | `.suffix` | **relative** id — prefixed at runtime with the host control's `relativeSignalsPath` (reusable controls) |
193
+ | `local_<name>` | a **local** (browser‑only) state, not persisted to ioBroker |
194
+
195
+ Special read‑only values `width` / `height` expose the element's live size. Conversions,
196
+ format strings and a JavaScript multiplex expression are available in the binding editor
197
+ for value transformation.
198
+
199
+ ### 🧬 Dynamic properties
200
+ Any element on a screen — including installed **npm / Lit package widgets** — can get extra
201
+ per‑instance properties without changing the widget's code:
202
+ - Select an element → **`dynamic` tab** in the property grid → add/remove a property
203
+ (name, type `string|number|boolean|color|enum|signal`, default, optional enum values).
204
+ - Stored on the element as the `dynamic-property-defs` attribute (a JSON array).
205
+ - At runtime real accessors are created (with `…-changed` events), so dynamic properties
206
+ are fully **bindable** (two‑way) and usable from scripts just like native ones.
207
+ - Lit/package widgets may also expose webui‑specific editors by declaring a
208
+ `static webuiProperties = { name: { type:'signal'|'color'|'screen'|'enum', values? } }`.
209
+
210
+ ### Notable fixes
211
+ - **OAuth token‑refresh under a subpath:** the socket client refreshed the auth token via a
212
+ relative `./oauth/token`, which resolved to `/mywebui/oauth/token` (404) when served under
213
+ `/mywebui/` and forced periodic full‑page reloads. It now uses the absolute `/oauth/token`
214
+ endpoint, so the runtime/designer no longer auto‑refresh on token expiry.
215
+
216
+ ## Concepts
217
+
218
+ ### Description
219
+
220
+ The Designer uses Web Components, so the HTML you design is inside of a Shadowroot of a Webcomponent. This means, you cannot style <body> or <html> inside of the Stylesheet. To style the outer Layout, use the ":host" selector.
221
+ This also means, you cannot use "on..." eventhandlers. Use the "@..." event assignment.
222
+
223
+ ### Custom Controls in mywebui
224
+
225
+ You can create your own reusable CustomControls in mywebui, each of which can have its own Javascript, Properties and a template.
226
+
227
+ You can use Double-Bracket Syntax and Double-Curly-Bracket Syntax of the "BaseCustomWebcomponent" to create bindings from the Template to the properties defined in the Designer. Curylbrackets create two way Bindings.
228
+ If you use the Bindings Dialog, you can Bind to a Property with ??Propertyname and to IoBroker Object in the Property via ?Propertyname.
229
+ In Scripts you can also write to Signals defined in Custom Properties.
230
+
231
+ You can include Javascript in your CustomControl or Screen.
232
+ In addition, you can export a function `init(instance)` wich will be called when your CustomControl will be instantiated.
233
+ Finally, `connected()` and `disconnected()` functions can be defined to be called when ...
234
+
235
+ ## Sponsoring
236
+
237
+ If you want to help the development, sponsor this project at https://github.com/sponsors/jogibear9988
238
+
239
+ ## Developing
240
+ * Install Repository as Adapter in IOBroker
241
+ * Download the Repository to an extra "dev" directory, do not develop inside the ioBroker Node_modules directory.
242
+ * Do the following steps inside of the "dev" dirctory.
243
+
244
+ * Install dependencies
245
+ ```
246
+ $ npm install
247
+ ```
248
+
249
+ * Compile Typescript after doing changes (or press Ctrl + Shift + B in VsCode and select "tsc watch")
250
+ ```
251
+ $ npm run tsc
252
+ ```
253
+
254
+ * Adjust 'config.js' to match you ip-adress and port for your iobroker
255
+ (The config.js in the repository root will be replaced with the one in '/config' when running 'npm build')
256
+ ```
257
+ window.iobrokerHost = '192.168.1.2';
258
+ window.iobrokerPort = '8082';
259
+ window.iobrokerSocketScriptUrl = 'http://' + window.iobrokerHost + ':' + window.iobrokerPort + '/lib/js/socket.io.js';
260
+ ```
261
+
262
+ * Run the app in a local server
263
+ ```
264
+ $ npm start
265
+ ```
266
+
267
+ * Navigate Chrome to [localhost:8000]() to see the app.
268
+
269
+ ### More about Development
270
+
271
+ - Run
272
+ ```
273
+ $ npm run reflection
274
+ ```
275
+ to recreate reflection files for Scripting wich are used for the property grid
276
+
277
+ - Run
278
+ ```
279
+ $ npm run build
280
+ ```
281
+ to copy compiled files and node_modules to www folder so adapter is installable via github
282
+
283
+ - Run
284
+ ```
285
+ $ npm run release
286
+ $ npm publish
287
+ ```
288
+ to create correct release commit for iobroker, Be carefull this also pushes to git repo.
289
+ Be sure to edit "CHANGELOG.md" before, the text in "## **WORK IN PROGRESS**" in README.Md will be used for version info
290
+
291
+ ## Info about the Adapter.
292
+
293
+ The Adapter is based on the following Designer component:
294
+ https://github.com/node-projects/web-component-designer
295
+
296
+ You need to create a screen "start", this is the first one called when you open runtime.html,
297
+ but you can change this via query parameter:
298
+ runtime.html?screenName=screen2
299
+
300
+ ## Changelog
301
+ <!--
302
+ Placeholder for next versions:
303
+ ### __WORK IN PROGRESS__
304
+ -->
305
+ ### 1.173.1 (2026-10-02)
306
+ * (gokturk413) fix(reports): a report asked through the gateway is rendered for the gateway's user; every browser-facing relay (rest-api, webapi …) needs a proven user
307
+
308
+ ### 1.173.0 (2026-10-02)
309
+ * (gokturk413) fix(security): mywebui's user-dependent server calls go through a gateway in web.0 (webExtension.cjs, POST /mywebui-api) that takes the user from the web session and signs it for mywebui.0; secWriteState, listReports and getReportFile no longer accept a user name typed by the browser over sendTo
310
+
311
+ ### 1.172.0 (2026-10-01)
312
+ * (gokturk413) feat(runtime): Confirm & Protect — a rule on a control makes its writes ask first: yes / no, a choice of commands, or the user's own password checked on the server (sendTo protectedWrite; token after a success, lockout after wrong passwords, supervisor approval with their own password, audit in the state's c field); designer window "Confirm" on the right strip; global dialog control dialog/confirm-dialog (new default controls now reach existing installs); optional ACL restriction of the protected states
313
+
314
+ ### 1.171.0 (2026-10-01)
315
+ * (gokturk413) feat(translations): Translations dock scope "Built-in (runtime)" — the runtime's own texts with their 5 built-in languages as placeholders, reword per language for the project, ↺ back to built-in; a project text in one language no longer replaces the built-in text of the other languages
316
+
317
+ ### 1.170.0 (2026-10-01)
318
+ * (gokturk413) feat(runtime): state details panel for administrators (click a badge / Alt+click a control: every bound state with read and write status); runtime texts (write feedback, read quality, quality codes, the panel) in az/en/ru/de/tr, overridable by project translations
319
+
320
+ ### 1.169.0 (2026-10-01)
321
+ * (gokturk413) feat(navigation): Start as — the menu opens full, icons only, hidden, or as this browser left it last time
322
+
323
+ ### 1.168.2 (2026-10-01)
324
+ * (gokturk413) fix(navigation): with the sidebar on the right the ☰ sits in the app bar's right corner, and the app bar keeps room for it there
325
+
326
+ ### 1.168.1 (2026-10-01)
327
+ * (gokturk413) fix(designer): Settings splits Navigation into "this screen" and "all screens" (position, layout, theme… are global); a rebuilt sidebar lets go of its listeners and badge subscriptions
328
+
329
+ ### 1.168.0 (2026-10-01)
330
+ * (gokturk413) feat(navigation): position left/right/top/bottom (top/bottom as a bar with drop-down groups), layout push/overlay, a badge per entry from a state (summed on groups); fix: a control updated live no longer throws in disconnectedCallback
331
+
332
+ ### 1.167.1 (2026-10-01)
333
+ * (gokturk413) fix(designer): Settings → Navigation → Groups follows Group items at once
334
+
335
+ ### 1.167.0 (2026-10-01)
336
+ * (gokturk413) feat(navigation): menu groups get their own title (translatable), icon and order (Settings → Navigation → Groups); with icons only, a group opens its entries in a panel beside the sidebar; read-quality and write-feedback layers sit under the navigation
337
+
338
+ ### 1.166.0 (2026-10-01)
339
+ * (gokturk413) feat(navigation): menu groups by folder or by a group per screen (open/close, nested), SVG menu icons in the theme colour, the screen moves and scales with the sidebar (easing, no jump)
340
+
341
+ ### 1.165.1 (2026-10-01)
342
+ * (gokturk413) fix(runtime): read quality frames the whole control (content bigger than the host) and watches custom-control properties of type signal (input_with_button); scada_point_panel and ReportSelector no longer overflow their own box
343
+
344
+ ### 1.165.0 (2026-10-01)
345
+ * (gokturk413) feat(runtime): read quality — every bound control shows when its value cannot be trusted (quality code, driver down, stale, missing); write feedback names the quality code and no longer counts substitute values as errors; docs/status-indicators.md (en + az)
346
+
347
+ ### 1.164.0 (2026-10-01)
348
+ * (gokturk413) feat(designer): layout toolbar, upright overlays on rotated controls; incremental npm upload
349
+
350
+ ### 1.163.1 (2026-09-30)
351
+ * (gokturk413) fix(runtime): pending write drawn at once; @click="[[…]]" on a screen threw
352
+
353
+ ### 1.163.0 (2026-09-30)
354
+ * (gokturk413) feat(runtime): write feedback — every operator write shows whether the driver confirmed it
355
+
356
+ ### 1.162.8 (2026-09-30)
357
+ * (gokturk413) fix(designer): the right tool-window strip lost its names on a short window
358
+
359
+ ### 1.162.7 (2026-09-30)
360
+ * (gokturk413) fix(designer): the obfuscated release designer did not load — ReportToolbox
361
+
362
+ ### 1.162.6 (2026-09-30)
363
+ * (gokturk413) fix(controls): valve_faceplate buttons carried an empty "bind-attr:"
364
+
365
+ ### 1.162.5 (2026-09-30)
366
+ * (gokturk413) fix(licence): a machine id that stops answering is no longer a tamper
367
+
368
+ ### 1.162.4 (2026-09-30)
369
+ * (gokturk413) fix(designer): report canvas styles, Report toolbox click, translation key actions
370
+
371
+ ### 1.162.3 (2026-09-30)
372
+ * (gokturk413) fix(controls): property defaults set before the first binding pass
373
+
374
+ ### 1.162.2 (2026-09-30)
375
+ * (gokturk413) fix(runtime): two-way bindings write numbers to number states; directive test heading
376
+
377
+ ### 1.162.1 (2026-09-30)
378
+ * (gokturk413) perf(runtime): the navigation menu appears with the screen
379
+
380
+ ### 1.162.0 (2026-09-29)
381
+ * (gokturk413) feat(charts): `<iobroker-webui-echart>` — live ECharts in viewer and designer, the same chart in HTML/PDF
382
+
383
+ ### 1.161.0 (2026-09-29)
384
+ * (gokturk413) feat(designer): History Query builder + Report toolbox; docs/reports.md
385
+
386
+ ### 1.160.0 (2026-09-28)
387
+ * (gokturk413) feat(reports): report theme, full web platform in the sandbox; app bar steady and responsive
388
+
389
+ ### 1.159.0 (2026-09-28)
390
+ * (gokturk413) fix(reports): pictures in generated reports — SVG/PNG in HTML and PDF
391
+
392
+ ### 1.158.0 (2026-09-28)
393
+ * (gokturk413) feat(reports): Output → Languages — one server file per language, {lang} in path or name
394
+
395
+ ### 1.157.0 (2026-09-28)
396
+ * (gokturk413) feat: engine in the fork; translations in reports; live toolbox; quiet connection monitor
397
+
398
+ ### 1.156.0 (2026-09-28)
399
+ * (gokturk413) fix(directives): every template directive tested in control, screen and report; 9 bugs fixed
400
+
401
+ ### 1.155.0 (2026-09-27)
402
+ * (gokturk413) feat(reports): template directives on screen and report pages; history options demo
403
+
404
+ ### 1.154.0 (2026-09-27)
405
+ * (gokturk413) feat(reports): reports rendered for a user, report scripts in the sandbox, history: directive
406
+
407
+ ### 1.153.0 (2026-09-27)
408
+ * (gokturk413) feat(reports): the fonts the author picks reach the PDF; toolbox rights set in the designer
409
+
410
+ ### 1.152.0 (2026-09-27)
411
+ * (gokturk413) feat(reports): history on the backend, five languages in PDF, the dialog's dates applied
412
+
413
+ ### 1.151.0 (2026-09-27)
414
+ * (gokturk413) feat(reports): PDF painted as the report looks — Takumi replaces pdfmake
415
+
416
+ ### 1.150.0 (2026-09-27)
417
+ * (gokturk413) feat(reports): live reports, range from states, reports embeddable in screens
418
+
419
+ ### 1.149.0 (2026-09-27)
420
+ * (gokturk413) fix(reports): print in colour; show the date boxes only for a custom range; icons in the toolbox
421
+
422
+ ### 1.148.0 (2026-09-27)
423
+ * (gokturk413) feat(reports): the browser's printed date, title, URL and page number are optional
424
+
425
+ ### 1.147.0 (2026-09-27)
426
+ * (gokturk413) fix(reports): a browser saves on the server through the trigger state, not sendTo
427
+
428
+ ### 1.146.1 (2026-09-27)
429
+ * (gokturk413) fix(reports): print the report alone, not the whole application
430
+
431
+ ### 1.146.0 (2026-09-27)
432
+ * (gokturk413) feat(reports): PDF and CSV output, a time range in the viewer, reports in the menu
433
+
434
+ ### 1.145.0 (2026-09-26)
435
+ * (gokturk413) feat(reports): a bound state starts a server run; theme the Report window
436
+
437
+ ### 1.144.0 (2026-09-26)
438
+ * (gokturk413) feat(reports): schedule + trigger (task 9), VS-style tool windows (task 10)
439
+
440
+ ### 1.143.0 (2026-09-26)
441
+ * (gokturk413) feat(reports): generate on the server, download in the browser (task 8)
442
+
443
+ ### 1.142.0 (2026-09-26)
444
+ * (gokturk413) feat(reports): run control scripts on a DOM inside the sandbox (task 6)
445
+
446
+ ### 1.141.0 (2026-09-26)
447
+ * (gokturk413) feat(designer): events on the screen / report root, in the Events panel
448
+
449
+ ### 1.140.0 (2026-09-26)
450
+ * (gokturk413) feat(reports): backend renderer, expression sandbox, report events, screen-only (task 5)
451
+
452
+ ### 1.139.0 (2026-09-26)
453
+ * (gokturk413) feat(reports): open a report in the browser, with the full screen chrome (task 4)
454
+
455
+ ### 1.138.0 (2026-09-26)
456
+ * (gokturk413) feat(reports): the page canvas — paper, rulers, bands and page breaks (task 3)
457
+
458
+ ### 1.137.0 (2026-09-26)
459
+ * (gokturk413) feat(reports): Reports in the solution tree, with its own icons (task 2)
460
+
461
+ ### 1.136.1 (2026-09-26)
462
+ * (gokturk413) fix(reports): a report keeps every screen setting; only its size comes from the page
463
+
464
+ ### 1.136.0 (2026-09-26)
465
+ * (gokturk413) feat(reports): the .report object type (task 1 of the report plan)
466
+
467
+ ### 1.133.0 (2026-09-25)
468
+ * (gokturk413) feat(licence): move mywebui to the scada-core state machine (RFC-005 L3)
469
+ * (gokturk413) feat(licence): a host ledger per licence in every candidate directory
470
+ * (gokturk413) fix(licence): a key no longer erases the trial history in the adapter's slot
471
+ * (gokturk413) fix(licence): a stopped install no longer opens a usage-grace window
472
+ * (gokturk413) fix(licence): do not log 'unlocked' for a stopped install
473
+ * (gokturk413) feat(admin): explain the trial, the two hardware ids and the per-VM licence
474
+
475
+ ### 1.132.0 (2026-09-15)
476
+ * (gokturk413) fix(designer): Properties dock tabs wrap onto rows instead of truncating
477
+ * (gokturk413) fix(ci): pin Rust to a newer stable broke both aarch64 cross-builds
478
+
479
+ ### 1.130.0 (2026-08-04)
480
+ * (gokturk413) fix(dist): the public release would have shipped a broken adapter — three ways
481
+ * (gokturk413) fix(ci)!: the release workflow would have force-pushed over this repo's own history
482
+ * (gokturk413) fix(ci): expect the triple names napi actually produces, and cross-check them
483
+
484
+ ### 1.129.0 (2026-08-04)
485
+ * (gokturk413) feat(native): main.js permission handlers call the engine
486
+ * (gokturk413) fix(dist): ship the engine and its bridge; guard against an engine-less tarball
487
+ * (gokturk413) feat(dist): allow-list staging script for the public artifact tree
488
+ * (gokturk413) fix(dist): stop shipping scripts/ — it is the build process, not the product
489
+ * (gokturk413) feat(dist): independent pre-push audit of the staged public tree
490
+ * (gokturk413) fix(dist): stop publishing TypeScript sources and vendored package internals
491
+ * (gokturk413) feat(ci): public release workflow — allow-list staging, pre-push audit, dry-run default
492
+ * (gokturk413) fix(ci): deliver the cross-built engines into the package
493
+ * (gokturk413) fix(ci): publish builds every engine itself, and demands all 8 before shipping
494
+
495
+ ### 1.128.0 (2026-08-03)
496
+ * (gokturk413) fix(license): gate every deploying command, not just two of them
497
+ * (gokturk413) feat(native): group resolution + checkVisibility allow-list
498
+ * (gokturk413) feat(native): screen ACL — write allow-rule, read blacklist, new/legacy arbitration
499
+ * (gokturk413) fix(native): a non-string in a blocked list denies, matching the JS
500
+ * (gokturk413) feat(native): PlantPAx write permission model (action codes + area levels)
501
+ * (gokturk413) fix(native): an explicit null area level falls through to the '*' fallback
502
+ * (gokturk413) fix(native): model JS falsiness — non-string codes and empty-string levels no longer fail open
503
+ * (gokturk413) fix(native): prototype-inherited action keys no longer bypass the permission model
504
+ * (gokturk413) feat(native): resolve_screen_access/visibility/sec_write napi entries + parity test
505
+
506
+ ### 1.127.0 (2026-08-02)
507
+ * (gokturk413) feat(license): surface tag usage + grace/violation state in the designer console
508
+ * (gokturk413) fix(license): keep the grace high-water-mark alive when an audit fails
509
+
510
+ ### 1.126.0 (2026-08-01)
511
+ * (gokturk413) feat(native): run/cache the usage audit and enforce the locked verdict
512
+
513
+ ### 1.125.0 (2026-08-01)
514
+ * (gokturk413) feat: (deep-fidelity) — P_Gate faceplate rebuilt faithful to real .gfx single-page flow (Inputs→Gate Delay→On/Off Delay→Output); fixes faceplate numeric inputs never populating
515
+ * (gokturk413) feat(native): scaffold mywebui_scada_engine crate with version()/ping()
516
+ * (gokturk413) feat(native): engineBridge loader as the single engine import point
517
+ * (gokturk413) feat(native): load mywebui_scada_engine in adapter main() and log its version
518
+ * (gokturk413) feat(native): cross-platform hardware-id (whid2- machine-id/UUID/MachineGuid)
519
+ * (gokturk413) feat(native): Ed25519 license verify + payload parse (embedded public key)
520
+ * (gokturk413) feat(native): clock-tamper-resistant 30-day trial anchor (monotonic + HMAC + hwid-bound)
521
+ * (gokturk413) feat(native): validate_license/hardware_id napi entry points + edition/trial resolution
522
+ * (gokturk413) feat(native): main.js uses the engine for license/hardware-id; no-stop trial->free; delete JS validators
523
+ * (gokturk413) fix(license): designer allows trial/free editions (was locking them out)
524
+ * (gokturk413) fix(build): rebuild committed dist/backend from src-original (Phase 1) + drop orphan validator
525
+ * (gokturk413) feat(native): bridge Effect protocol + pure demo handler
526
+ * (gokturk413) feat(native): handle_demo napi export + JS effectApplier + mock-host B test
527
+ * (gokturk413) feat(native): async host-callback PoC (napi ThreadsafeFunction + awaited JS Promise)
528
+ * (gokturk413) feat(native): importmap scaffold — ImportmapBuilder + path helpers + embedded hacks
529
+ * (gokturk413) fix(native): importmap uses posix pjoin (not native path join) for web-path parity
530
+ * (gokturk413) feat(native): importmap add_to_importmap (exports/main/module resolution)
531
+ * (gokturk413) fix(native): pjoin normalizes leading ./ like path.posix.join (once, not per call site)
532
+ * (gokturk413) fix(native): add_to_importmap uses plain concat at JS:282/285/293 (not pjoin)
533
+ * (gokturk413) feat(native): importmap load_dependency (recursive, deduped, native fs)
534
+ * (gokturk413) feat(native): importmap parse_npm_package (custom-elements + esbuild bundle integration)
535
+ * (gokturk413) feat(native): importmap build_importmap top-level + writes 5 loader files
536
+ * (gokturk413) fix(native): serde_json preserve_order so generated importmap.js matches JS key order
537
+ * (gokturk413) feat(native): create_importmap napi async wrapper + Node integration test
538
+ * (gokturk413) feat(native): main.js uses engine.create_importmap; delete JS ImportmapCreator
539
+ * (gokturk413) fix(native): live-parity fixes — bundle host must resolve a string; JS:86 error text
540
+ * (gokturk413) fix(build): rebuild dist/backend after the port + correct the host-callback contract docs
541
+ * (gokturk413) feat(native): upload walk + ignore list + progress throttling (pure, tested)
542
+ * (gokturk413) feat(native): upload collect_existing_files_to_delete (DB-driven recursion)
543
+ * (gokturk413) feat(native): upload erase/upload_internal/driver with effect logging
544
+ * (gokturk413) fix(native): normalize source_dir in the upload driver (backslash paths skipped every file)
545
+ * (gokturk413) feat(native): upload_widgets napi wrapper + Node integration test
546
+ * (gokturk413) feat(native): main.js uses engine.upload_widgets; delete JS UploadHelper
547
+ * (gokturk413) feat(native): tag extraction — distinct ioBroker state IDs from screens/controls
548
+ * (gokturk413) feat(native): usage counting, limit checking and deterministic allowed-screen selection
549
+ * (gokturk413) fix(native): dedupe project names by set, stabilize counted_tags order, document unchecked limits
550
+ * (gokturk413) feat(native): 2-day grace anchor — HMAC-signed, hardware-bound, rollback-proof
551
+ * (gokturk413) fix(native): saturating arithmetic in grace/trial anchors + explicit blob-persistence contract
552
+ * (gokturk413) feat(native): audit_usage napi entry — usage, violations, locked verdict and grace state
553
+ * (gokturk413) fix(native): corrupt licence falls back to free tier; degraded audits never unlock or clear the grace anchor
554
+ * (gokturk413) fix(native): licence needs a positive marker; a hard lock only clears via a verified licence
555
+ * (gokturk413) fix(native)!: audit_usage verifies the licence KEY itself, not a caller-supplied verdict
556
+
557
+ ### 1.124.0 (2026-07-07)
558
+ * (gokturk413) feat: (deep-fidelity) — P_Motor faceplate audited vs real .gfx: adds Stopped/NotRdy lamps, PermOK/NBPerm/Sim/MaintByp flags, Bypass+OvldNotify maint rows (all adapter-gated)
559
+
560
+ ### 1.123.0 (2026-07-07)
561
+ * (gokturk413) feat: (deep-fidelity) — PlantPAx-faithful SVG device symbols + adapter-data-gating
562
+
563
+ ### 1.122.0 (2026-07-07)
564
+ * (gokturk413) feat: (deep-fidelity) — P_AIn alarm-bar uses real Rockwell command-button PNGs (Cmd_AlmAck / Cmd_AlmAckAllReset / Cmd_Reset) instead of text buttons. Verified live: 3 real PNG command buttons
565
+
566
+ ### 1.121.0 (2026-07-07)
567
+ * (gokturk413) feat: (deep-fidelity) — alarm-row uses REAL Rockwell PNG icons (data-URI)
568
+
569
+ ### 1.120.0 (2026-07-07)
570
+ * (gokturk413) feat: (wave B) — +8 device types (P_ValveMO/ValveMP/nPos/Motor2Spd/Dose/HiLoSel/DBC/Logic) via data-driven _dev_faceplate + real AOI members extracted from L5X; typeToTag/slug/seeds. Generic-convention faceplates (deep .gfx fidelity to follow)
571
+
572
+ ### 1.119.0 (2026-07-07)
573
+ * (gokturk413) feat: (wave B start) — new types P_DIn + P_DOut (Discrete I/O)
574
+
575
+ ### 1.118.0 (2026-07-07)
576
+ * (gokturk413) feat: (wave A COMPLETE) — Valves/PIDE/Infra verified on real tab model + members
577
+
578
+ ### 1.115.0 (2026-07-07)
579
+ * (gokturk413) feat: (wave A) — Motors group (P_Motor/P_MotorRev/P_VSD): labeled Home/Maint/Alarm tabs + real members (Sts_Running, OCmd_Start...). Shared _dev_faceplate tab-strip now Home+labeled, positioning Valves/PIDE/Infra for Tasks 8-10.
580
+
581
+ ### 1.114.4 (2026-07-07)
582
+ * (gokturk413) feat: (wave A) — P_AIn Engineering (Advanced) matches the mockup: PV Source & Quality checkboxes + Substitute PV value + Filtering & Thresholds (Fail Hi/Lo, PV decimals) all with real member labels; _cfg_row helper + cfgmem styling; pvDecPlcs seed/meta
583
+
584
+ ### 1.114.3 (2026-07-07)
585
+ * (gokturk413) feat: (wave A) — alarm-row shows real member labels (HiHi.Alm · HiHi.Ack) + severity-tier colours (HiHi/LoLo/Fail red, Hi/Lo amber) matching the mockup
586
+
587
+ ### 1.114.2 (2026-07-06)
588
+ * (gokturk413) feat: (wave A) — P_AIn real device-state flags: Sim (Inp_Sim), Maint Byp (Sts_MaintByp), Substitute, Input Fail on Home tab; seed+meta for sim/simPvSet/maintByp/oos
589
+
590
+ ### 1.114.1 (2026-07-06)
591
+ * (gokturk413) fix: (wave A) — P_AIn faceplate visual fidelity to mockup: labeled tabs (Home/Maint/Diag/Alarm/Trend), description line, Range/Substitute rows, clean card styling (header/tab-underline/kv-rows/flag-pills)
592
+
593
+ ### 1.114.0 (2026-07-06)
594
+ * (gokturk413) feat: (wave A) — P_AIn symbol colours by threshold-status (Sts_*) to match the MAI + alarm objects; unacked badge tracks real alarm objects. P_AIn REFERENCE COMPLETE (acceptance gate passed vs live P_AIn_01)
595
+
596
+ ### 1.113.0 (2026-07-06)
597
+ * (gokturk413) feat: (wave A) — P_AIn faceplate rebuilt to real model: Home tab (vertical MAI + PV block + status-flags), Alarm tab composes alarm-row components, Engineering uses scaling-widget; tabs Home/Maintenance/Diagnostics/Alarm/Trend + Advanced
598
+
599
+ ### 1.112.0 (2026-07-06)
600
+ * (gokturk413) feat: (wave A) - scaling-widget (raw->EU config) + status-flag components
601
+
602
+ ### 1.111.0 (2026-07-06)
603
+ * (gokturk413) feat: (wave A) — alarm-row component: severity + UNACK/ACK'D/SHELVED/SUPPRESSED/DISABLED chip + ack/shelve buttons
604
+
605
+ ### 1.110.0 (2026-07-06)
606
+ * (gokturk413) feat: (wave A) — Moving Analog Indicator: vertical scale, PV fill + pointer with value, HiHi/Hi/Lo/LoLo flags with EU value labels, threshold colour
607
+
608
+ ### 1.109.0 (2026-07-06)
609
+ * (gokturk413) feat: (wave A) — hybrid canonical+member labels in PlantPAx Types editor; P_AIn seed verified vs real AOI members
610
+ * (gokturk413) fix: (wave A task1) — alarm meta labels match resolver (HiHi.Alm/.Ack nested); add threshold-status keys hiHiSts/hiSts/loSts/loLoSts -> Sts_* for MAI flags
611
+
612
+ ### 1.108.1 (2026-07-06)
613
+ * (gokturk413) fix: PlantPAx faceplate/symbol button wiring (imperative ppWireSymbol/ppWireHeader; remove broken @click=[[...]] which no-oped)
614
+
615
+ ### 1.108.0 (2026-07-06)
616
+ * (gokturk413) feat: (wave3 COMPLETE) — P_MotorRev/CmdSrc/Gate/Intlk/Perm/Alarm/Meta faceplates; all 13 PlantPAx types now shipped (symbol+faceplate each), all composed from 8 reusable wave-1 components; dual-adapter seeds for every type
617
+
618
+ ### 1.107.0 (2026-07-06)
619
+ * (gokturk413) feat: (wave3) — P_ValveC/P_ValveSO/P_PIDE/P_VSD faceplates via generic _dev_faceplate composing wave-1 components (level-bar+slider+lamps+buttons+sparkline); rich dual-adapter seeds
620
+
621
+ ### 1.106.0 (2026-07-06)
622
+ * (gokturk413) feat: (wave3 start) — P_Motor symbol + faceplate composed from wave-1 components (4 status-lamp + 2 command-button), P_Motor seed both adapters (15 members)
623
+
624
+ ### 1.105.0 (2026-07-06)
625
+ * (gokturk413) feat: (wave2) — PlantPAx Types editor as Ignition tag-browser tree (9 collapsible member categories: Process Value/Alarm Limits/Deadbands/Status/Ack/Commands/Scaling/Quality/Identity + counts + per-member test)
626
+
627
+ ### 1.104.1 (2026-07-06)
628
+ * (gokturk413) feat: enlarge faceplate popup (min-width 320->480, settings 520x600, roomier padding/font)
629
+
630
+ ### 1.104.0 (2026-07-06)
631
+ * (gokturk413) feat: enriched Alarms tab (unacked count + Ack All/Reset & Ack/Reset via OCmd_ResetAckAll/OCmd_Reset) + 3 alarm-cmd seed fields
632
+ * (gokturk413) feat: wave1 primitives — plantpax/components/{status-lamp,command-button} (reusable boolean indicator + secWriteState command button)
633
+ * (gokturk413) feat: wave1 input primitives — plantpax/components/{toggle-switch,radio-toggle,std-slider} (read+write via secWriteState, secCan-gated)
634
+ * (gokturk413) feat: wave1 tank BlockStyle symbol (fill level = PV%, alarm color, click->faceplate) — 8 reusable plantpax components total
635
+
636
+ ### 1.103.0 (2026-07-06)
637
+ * (gokturk413) feat: Flintium-style icon tab-strip (Main: Operator/Maintenance/Trends/Diagnostics/Alarms + gear->Advanced: Engineering/HMI/Faults) with Trends/Diagnostics/HMI/Faults panes
638
+
639
+ ### 1.102.0 (2026-07-06)
640
+ * (gokturk413) feat: real Flintium-style P_AIn faceplate (level-bar component, EU-scaled Moving Analog Indicator, Raw Input Scaling + PV Source/Quality Engineering tab, expanded seed 37 fields)
641
+ * (gokturk413) feat: add plantpax/components/sparkline (live mini-trend) + embed in P_AIn Operator
642
+
643
+ ### 1.100.0 (2026-07-05)
644
+ * (gokturk413) feat: PlantPAx faceplate popup host on IOB (mount/unmount, no display:none leak) + typeToTag
645
+ * (gokturk413) feat: PlantPAx generator + P_AIn symbol & 4-tab faceplate controls
646
+
647
+ ### 1.99.1 (2026-07-05)
648
+ * (gokturk413) fix: Security editor dock had no background (showed white/host-default)
649
+ * (gokturk413) feat: add PlantPAx type-mapping resolver with full AOI catalog seed data
650
+ * (gokturk413) feat: wire PlantPAx type resolver into IobrokerHandler (IOB) singleton
651
+ * (gokturk413) feat: add PlantPAx Types dock editor custom element
652
+ * (gokturk413) feat: register PlantPAx Types dock tab in AppShell + rebuild runtime bundle
653
+
654
+ ### 1.99.0 (2026-07-04)
655
+ * (gokturk413) feat: Area & Permissions dock (assign data-area/data-action per element)
656
+
657
+ ### 1.98.0 (2026-07-04)
658
+ * (gokturk413) feat: server-enforced permission writes (secWriteState), phase 2
659
+
660
+ ### 1.97.0 (2026-07-04)
661
+ * (gokturk413) feat: Security editor dock (Users / Areas / Actions matrix / Codes)
662
+
663
+ ### 1.96.0 (2026-07-04)
664
+ * (gokturk413) feat: PlantPAx-style permission system (codes/actions/areas), phase 1
665
+
666
+ ### 1.95.1 (2026-07-04)
667
+ * (gokturk413) fix: multi-view injected elements now honor visibility conditions
668
+
669
+ ### 1.95.0 (2026-07-04)
670
+ * (gokturk413) fix: Monaco drag crash guard + all npm packages editable in Translations dock
671
+
672
+ ### 1.94.3 (2026-07-04)
673
+ * (gokturk413) fix: multi-view selections were not persisted (raw element writes)
674
+
675
+ ### 1.94.2 (2026-07-04)
676
+ * (gokturk413) fix: alarm viewers: designer instance also lacks _getDomElements + null-safe template exprs
677
+
678
+ ### 1.94.1 (2026-07-03)
679
+ * (gokturk413) fix: designer script errors in control editor (missing control APIs)
680
+
681
+ ### 1.94.0 (2026-07-03)
682
+ * (gokturk413) feat: alarm-history-viewer control (declarative, native datetime range)
683
+
684
+ ### 1.93.0 (2026-07-03)
685
+ * (gokturk413) feat: alarm-viewer control (Tabulator-free, declarative) + scoped-t fix
686
+
687
+ ### 1.92.0 (2026-07-03)
688
+ * (gokturk413) fix: translation modal keeps scope + migrate control groups to control-own dicts
689
+
690
+ ### 1.91.0 (2026-07-03)
691
+ * (gokturk413) feat: scoped translation system (control-own / npm-widget / project)
692
+
693
+ ### 1.90.0 (2026-07-03)
694
+ * (gokturk413) feat: Glass (glassmorphism) runtime theme + --ui-backdrop token
695
+
696
+ ### 1.89.0 (2026-07-03)
697
+ * (gokturk413) feat: modern themed logout control (pairs with user-badge)
698
+
699
+ ### 1.88.0 (2026-07-03)
700
+ * (gokturk413) feat: user-badge control: modern themed user chip for the app bar
701
+
702
+ ### 1.87.0 (2026-07-02)
703
+ * (gokturk413) feat: nav 'Auto (runtime theme)' preset + level_bar theme tokens
704
+
705
+ ### 1.86.0 (2026-07-02)
706
+ * (gokturk413) feat: theme-toggle control: segmented icon pill (Auto | Light | Dark)
707
+
708
+ ### 1.85.0 (2026-07-02)
709
+ * (gokturk413) fix: theme tokens in inline-style/script controls (scada_point_panel, input_with_button, TextViewer)
710
+
711
+ ### 1.84.0 (2026-07-02)
712
+ * (gokturk413) feat: linear-gauge rebuilt fully declarative (colored scale + pointer, zero render-JS)
713
+
714
+ ### 1.83.0 (2026-07-02)
715
+ * (gokturk413) feat: semantic theme tokens (--ui-ok/warn/error/info) + map control chrome/status colors to theme tokens
716
+
717
+ ### 1.82.0 (2026-07-02)
718
+ * (gokturk413) feat: user-definable themes via Global Style (CSS data-attribute model)
719
+
720
+ ### 1.81.0 (2026-07-02)
721
+ * (gokturk413) fix: linear-gauge reactivity + enum dropdowns + vertical min-tick
722
+
723
+ ### 1.80.0 (2026-07-02)
724
+ * (gokturk413) feat: runtime theme system + theme-selector control
725
+
726
+ ### 1.79.0 (2026-07-02)
727
+ * (gokturk413) feat: new mywebui adapter logo (gradient tech mark + wordmark)
728
+
729
+ ### 1.78.0 (2026-07-02)
730
+ * (gokturk413) fix: setpoint-gauge dark-runtime theming fallbacks
731
+
732
+ ### 1.77.0 (2026-07-02)
733
+ * (gokturk413) feat: setpoint-gauge control (thermostat-style, declarative bindings)
734
+
735
+ ### 1.76.0 (2026-07-02)
736
+ * (gokturk413) fix: theme the gauge controls via --ui-* tokens
737
+
738
+ ### 1.75.0 (2026-07-02)
739
+ * (gokturk413) feat: free linear-gauge + gauge-table controls (MODES-style)
740
+
741
+ ### 1.74.0 (2026-07-01)
742
+ * (gokturk413) fix: theme the designer context menu (was white/unreadable in dark themes)
743
+
744
+ ### 1.73.0 (2026-07-01)
745
+ * (gokturk413) feat: dedicated App Bar / Sidebar content editor
746
+
747
+ ### 1.72.0 (2026-07-01)
748
+ * (gokturk413) fix: settings-tab collapse arrows — right-aligned + bigger
749
+
750
+ ### 1.71.0 (2026-07-01)
751
+ * (gokturk413) feat: settings-tab menus — Layout collapsible, bigger arrows, collapsed by default
752
+
753
+ ### 1.70.0 (2026-07-01)
754
+ * (gokturk413) fix: theme the Multi-View dock like the other side panels
755
+
756
+ ### 1.69.0 (2026-07-01)
757
+ * (gokturk413) fix: multi-view panel — no duplicate + robust home-screen detection
758
+
759
+ ### 1.68.0 (2026-07-01)
760
+ * (gokturk413) feat: multi-view Stage 3 — ghost preview on target screens in the designer
761
+
762
+ ### 1.67.0 (2026-07-01)
763
+ * (gokturk413) feat: multi-view — show one element on multiple screens (vis-style)
764
+
765
+ ### 1.65.0 (2026-07-01)
766
+ * (gokturk413) feat: per-screen transition + fix screen-access disable sync + collapsible settings menus
767
+
768
+ ### 1.64.0 (2026-07-01)
769
+ * (gokturk413) fix: guard adoptedStyleSheets when control uses global style but none exists
770
+
771
+ ### 1.63.0 (2026-07-01)
772
+ * (gokturk413) feat: whenScreenReady() + screen-ready event + configurable screen transition
773
+
774
+ ### 1.62.0 (2026-06-30)
775
+ * (gokturk413) feat: delete slot items in nav app-bar/sidebar from the designer
776
+
777
+ ### 1.61.0 (2026-06-30)
778
+ * (gokturk413) feat: navigation/app-bar theme system + smooth hide-until-ready screen transitions
779
+
780
+ ### 1.60.0 (2026-06-30)
781
+ * (gokturk413) feat: navigation named slots for arbitrary controls (#3)
782
+
783
+ ### 1.59.0 (2026-06-30)
784
+ * (gokturk413) feat: navigation designer preview chrome (#2)
785
+
786
+ ### 1.58.0 (2026-06-30)
787
+ * (gokturk413) feat: modern-sidebar look for nav controls (#4)
788
+
789
+ ### 1.57.0 (2026-06-30)
790
+ * (gokturk413) feat: navigation live re-render on save (#1)
791
+
792
+ ### 1.56.1 (2026-06-30)
793
+ * (gokturk413) feat: nav menu-item/app-bar icons resolve relative project image paths
794
+
795
+ ### 1.56.0 (2026-06-30)
796
+ * (gokturk413) feat: Navigation Phase 2 — editable nav/app-bar custom controls + runtime mounter
797
+
798
+ ### 1.55.0 (2026-06-30)
799
+ * (gokturk413) feat: Navigation + Application Bar settings (Phase 1 — config UI + data model)
800
+
801
+ ### 1.54.1 (2026-06-30)
802
+ * (gokturk413) fix: Global Script editor threw 'IobrokerWebuiMonacoEditor is not defined'
803
+
804
+ ### 1.54.0 (2026-06-29)
805
+ * (gokturk413) feat: enable Global Script node (startup init() module) in the tree
806
+
807
+ ### 1.53.3 (2026-06-29)
808
+ * (gokturk413) fix: prover control drops at a normal size and scales on resize
809
+
810
+ ### 1.53.2 (2026-06-28)
811
+ * (gokturk413) fix: flow-line tool draws straight orthogonal segments (no freehand wavy)
812
+
813
+ ### 1.53.1 (2026-06-28)
814
+ * (gokturk413) fix: tee — thin centered bands (white space) + pipesize property so it snaps to pipes
815
+
816
+ ### 1.53.0 (2026-06-28)
817
+ * (gokturk413) feat: SCADA flow-line tool — dedicated toolbar button for orthogonal multi-segment polylines
818
+
819
+ ### 1.52.3 (2026-06-28)
820
+ * (gokturk413) feat: use the real tee artwork (4 teeTypes) in the tee control, not combined H+V pipes
821
+
822
+ ### 1.52.2 (2026-06-28)
823
+ * (gokturk413) fix: tee pipe square-tile geometry (generated in its script) so it tiles too
824
+
825
+ ### 1.52.1 (2026-06-28)
826
+ * (gokturk413) fix: smooth pipe gradient (linear straights + radial curves) instead of layered strokes
827
+
828
+ ### 1.52.0 (2026-06-28)
829
+ * (gokturk413) feat: pipe magnet-snap in the designer (edge snap + green indicator)
830
+
831
+ ### 1.51.0 (2026-06-28)
832
+ * (gokturk413) feat: normalize pipe controls to a unified square-tile model (vis-style mouth-to-mouth tiling)
833
+
834
+ ### 1.50.1 (2026-06-28)
835
+ * (gokturk413) fix: add VisibilityService.applyVisibility — custom controls threw on connect
836
+
837
+ ### 1.50.0 (2026-06-28)
838
+ * (gokturk413) feat: embedded (elementless) screen-layout tabs — flex-like, no webui-tab-container in code
839
+
840
+ ### 1.49.3 (2026-06-27)
841
+ * (gokturk413) feat: drop controls into the active tab pane (TabContainerPlacementService)
842
+
843
+ ### 1.49.2 (2026-06-26)
844
+ * (gokturk413) feat: rich Tabs editor inside the Properties tab (Tabs Layout group), revert broken dock mount
845
+
846
+ ### 1.49.1 (2026-06-26)
847
+ * (gokturk413) feat: show Layout/Tabs UI in the Properties dock too (split/tabs screens + controls)
848
+
849
+ ### 1.49.0 (2026-06-26)
850
+ * (gokturk413) feat: tabs designer rework — embedded (non-deletable/movable) container, tab add/remove/active UI, tab-position
851
+
852
+ ### 1.48.0 (2026-06-26)
853
+ * (gokturk413) fix(layout): strip stale generated split/tab container when type switched to flex/grid/none (save + runtime defensive) - fixes flex/grid props doing nothing after split->flex
854
+
855
+ ### 1.47.0 (2026-06-26)
856
+ * (gokturk413) feat(layout): alignment guides - red helper lines when a dragged element's edges/center align with siblings (designer + control editor)
857
+
858
+ ### 1.46.0 (2026-06-26)
859
+ * (gokturk413) feat(layout): penpot-style canvas grid overlay - track lines + draggable resize handles (live, writes settings.layout)
860
+ * (gokturk413) feat(layout): flex layout guides overlay (direction arrow + align/justify label)
861
+
862
+ ### 1.45.0 (2026-06-26)
863
+ * (gokturk413) feat: BroadcastChannel cross-tab command delivery (sync source with shipped bundle)
864
+ * (gokturk413) feat(layout): Phase 3 runtime - generate split/tabs container from settings.layout (saved html = panes only)
865
+ * (gokturk413) feat(layout): Layout panel uses the visual button-group UI (flex direction/align/justify/wrap icons, split orientation, type) like the webui-flex-container 'Flex Layout' editor
866
+ * (gokturk413) feat(layout): Phase 3 designer - split/tabs wrap-on-load + unwrap-on-save (panes-only html + metadata, container never saved/deletable; stable round-trip)
867
+
868
+ ### 1.44.2 (2026-06-26)
869
+ * (gokturk413) fix: guard disconnectedCallback dispose + resilient for:/repeat: cleanup
870
+ * (gokturk413) feat(layout): add layoutToStyle/applyLayoutStyle mapper
871
+ * (gokturk413) feat(layout): runtime applies settings.layout to ScreenViewer root host
872
+ * (gokturk413) feat(layout): designer applies settings.layout to canvas root host
873
+ * (gokturk413) feat(layout): picker returns metadata; new screen/control/global seed settings.layout
874
+ * (gokturk413) feat(layout): Layout panel in Settings tab (live edit, type/flex/grid)
875
+ * (gokturk413) feat(layout): Convert-to-layout for legacy flex-container roots (project + global)
876
+ * (gokturk413) feat(layout): custom controls apply their settings.layout to host at runtime
877
+ * (gokturk413) feat: add 'Remove HabPanel Style' action + dedupe Add; broadcast refresh on global style change
878
+ * (gokturk413) feat(layout): Phase 2 - interactive grid track editor (per-track value+unit fr/px/%/auto, add/remove) in Layout panel
879
+
880
+ ### 1.44.1 (2026-06-25)
881
+ * (gokturk413) fix: for: loop never rendered elements due to shared oldValuesSymbol conflict
882
+
883
+ ### 1.44.0 (2026-06-25)
884
+ * (gokturk413) feat: advanced template directives, eval→new Function, repeat binding fix
885
+
886
+ ### 1.43.1 (2026-06-25)
887
+ * (gokturk413) perf: 3D gallery renders single control only, never folders/screens
888
+ * (gokturk413) feat: for:/repeat: loop var as element prop, new directives, npm fixes
889
+ * (gokturk413) fix: revert www/node_modules/ npm exclusion (needed for runtime - GSAP/Monaco/Three)
890
+
891
+ ### 1.43.0 (2026-06-25)
892
+ * (gokturk413) fix: screen access control now syncs in **real time** across all surfaces — unchecking a group in the global Permissions dialog instantly clears "Access Denied" on open runtime windows (`uiRefresh` broadcast)
893
+ * (gokturk413) fix: backend honours `visibilityEnabled` / `accessibility.enabled` — a disabled restriction with a stale group list no longer keeps blocking
894
+ * (gokturk413) fix: the Settings‑tab "Screen Accessibility Control" and the Projects "Screen Access" dialog are now mirrored (single source of truth)
895
+ * (gokturk413) perf: 3D galleries no longer render whole folders live — 3D **screens** never preview, 3D **custom controls** preview one‑at‑a‑time on click (large memory saving); 2D controls/widgets unchanged
896
+ * (gokturk413) docs: README — bindings (signals/state/object/properties), dynamic properties, current changelog
897
+
898
+ ### 1.42.99 (2026-06-24)
899
+ * (gokturk413) feat: group‑based access control (runtime + editor), hybrid readable‑source / obfuscated‑artifact build & packaging pipeline, branding
900
+ * (gokturk413) feat: global (platform‑default) custom controls — shipped under **Global > CustomControls / 3D Custom Controls**, pre‑seeded on install, editable, usable in every project
901
+
902
+ ### 1.42.90 (2026-06)
903
+ * (gokturk413) feat: self‑contained multi‑project layout — each project under `mywebui.0.projects/<name>/{data,widgets}` with export/import
904
+
905
+ ### 1.42.45 (2026-06)
906
+ * (gokturk413) design: neon glassmorphic theme for the solution explorer
907
+
908
+ ### 1.42.44 (2026-06)
909
+ * (gokturk413) feat: multi‑project support — project selector with create/delete; runtime preview passes `?project=`, plain `runtime.html` always shows default (kiosk safe)
910
+
911
+ ### 1.42.42 (2026-06)
912
+ * (gokturk413) feat: `dynamic` property tab for every element (works with npm manifest widgets too) — per‑instance dynamic properties with two‑way binding
913
+
914
+ ### 1.40.0 (2026-06)
915
+ * (gokturk413) feat: 3D Editor (Three.js) — 3D screens & 3D custom controls, signal bindings, asset manager, layout planner
916
+
917
+ <!-- older custom‑edition versions: see the full per‑version "news" list in io‑package.json -->
918
+
919
+ ### 1.37.0 (2025-10-15)
920
+ - fix bug in bundled code
921
+ - use minified code for config
922
+
923
+ ### 1.36.0 (2025-10-15)
924
+ - fix some boxQuads edge cases
925
+
926
+ ### 1.35.4 (2025-09-23)
927
+ - clear cache on reload
928
+
929
+ ### 1.35.3 (2025-09-23)
930
+ - object changed to all clients
931
+
932
+ ### 1.35.2 (2025-09-23)
933
+ - forgett to parse bindings
934
+
935
+ ### 1.35.1 (2025-09-23)
936
+ - fix reload custom controls
937
+
938
+ ### 1.35.0 (2025-09-23)
939
+ - better nameing
940
+ - changed object notification
941
+
942
+ ### 1.34.2 (2025-09-21)
943
+ - anaother small fix in signal handling
944
+
945
+ ### 1.34.1 (2025-09-20)
946
+ - script command wrong name fix
947
+
948
+ ### 1.34.0 (2025-09-20)
949
+ - designer and script updates
950
+
951
+ ### 1.33.0 (2025-08-26)
952
+ - fix NaN check
953
+
954
+ ### 1.32.0 (2025-08-20)
955
+ - Support css prop suggestions
956
+
957
+ ### 1.31.6 (2025-08-19)
958
+ - Test one more release
959
+
960
+ ### 1.31.5 (2025-08-19)
961
+ - Fix setting Props with simple scripts
962
+
963
+ ### 1.31.4 (2025-08-19)
964
+ - SimpleScripts should be able to set Properties
965
+
966
+ ### 1.31.3 (2025-08-19)
967
+ - NaN not NaN
968
+
969
+ ### 1.31.2 (2025-08-18)
970
+ - update npms
971
+
972
+ ### 1.31.1 (2025-08-17)
973
+ - remove nod 18 from github actions
974
+
975
+ ### 1.31.0 (2025-08-17)
976
+ - update packages
977
+ - script support for properties
978
+
979
+ ### 1.30.0 (2025-05-25)
980
+ - starting indirect binding fix
981
+
982
+ ### 1.29.0 (2025-05-25)
983
+ - complexer indirect bindings
984
+
985
+ ### 1.28.0 (2025-05-03)
986
+ - update packages
987
+
988
+ ### 1.27.1 (2025-03-30)
989
+ - fix xml import
990
+
991
+ ### 1.27.0 (2025-03-30)
992
+ - edit string in visu property grid
993
+ - bindings to properties did not work (in designer)
994
+ - html setting did not work sometimes
995
+
996
+ ### 1.26.0 (2025-03-04)
997
+ - fix error in screenviewer
998
+ - update npms
999
+ - rename global styles
1000
+ - allow styling of dialog
1001
+
1002
+ ### 1.25.2 (2025-02-05)
1003
+ - fix null error on props
1004
+
1005
+ ### 1.25.1 (2025-01-24)
1006
+ - escape xml
1007
+ - switch to official selector package
1008
+
1009
+ ### 1.25.0 (2025-01-21)
1010
+ - fix bindings in custom controls
1011
+
1012
+ ### 1.24.4 (2025-01-20)
1013
+ - switch again to old module shims (error in new one)
1014
+
1015
+ ### 1.24.3 (2025-01-20)
1016
+ - first load of css bindings
1017
+ - fix get box quads with slots
1018
+ - fix es module shims
1019
+
1020
+ ### 1.24.2 (2025-01-19)
1021
+ - revert back es module shims, leads to errors
1022
+
1023
+ ### 1.24.1 (2025-01-19)
1024
+ - hopefully fix package upload by changed name
1025
+
1026
+ ### 1.24.0 (2025-01-19)
1027
+ - cleanup www dir
1028
+
1029
+ ### 1.23.2 (2025-01-19)
1030
+ - one more fix in gulpfile
1031
+
1032
+ ### 1.23.1 (2025-01-19)
1033
+ - fix gulp should work again
1034
+
1035
+ ### 1.23.0 (2025-01-19)
1036
+ - fix paste in events assignment
1037
+ - iobroker Signal Selector
1038
+ - binding to width and height in custom controls
1039
+
1040
+ ### 1.22.0 (2025-01-15)
1041
+ - local signals browser
1042
+ - style completition fixes
1043
+ - special bindings for "ring" cameras
1044
+
1045
+ ### 1.21.0 (2024-12-28)
1046
+ - fix scripts with empty names on css
1047
+ - css props with only bindings are not shown
1048
+ - remove of css prop should remove binding?
1049
+ - Open Screen in sub screen command
1050
+
1051
+ ### 1.20.1 (2024-12-03)
1052
+ - fix in designer with svgs
1053
+
1054
+ ### 1.20.0 (2024-12-03)
1055
+ - add a few packages
1056
+ - run simple script cmd and update get parent screen
1057
+ - update packages, downgrade monaco
1058
+ - fix backup
1059
+
1060
+ ### 1.19.4 (2024-11-03)
1061
+ - copy & paste events
1062
+
1063
+ ### 1.19.3 (2024-11-03)
1064
+ - support null value
1065
+
1066
+ ### 1.19.2 (2024-11-03)
1067
+ - use name in classlist
1068
+
1069
+ ### 1.19.1 (2024-11-02)
1070
+ - copy path for screens/controls
1071
+
1072
+ ### 1.19.0 (2024-11-02)
1073
+ - fix error in script system
1074
+
1075
+ ### 1.18.5 (2024-11-02)
1076
+ - compile fix
1077
+
1078
+ ### 1.18.4 (2024-11-02)
1079
+ - fix wrong shadow root used
1080
+
1081
+ ### 1.18.3 (2024-11-01)
1082
+ - small typo fix
1083
+
1084
+ ### 1.18.2 (2024-11-01)
1085
+ - better refcatoring
1086
+
1087
+ ### 1.18.1 (2024-11-01)
1088
+ - fix screen settings
1089
+
1090
+ ### 1.18.0 (2024-11-01)
1091
+ - screens are now ex- & imported as xml
1092
+
1093
+ ### 1.17.3 (2024-11-01)
1094
+ - fix compilation
1095
+
1096
+ ### 1.17.2 (2024-11-01)
1097
+ - switch combo in complex prop editor
1098
+
1099
+ ### 1.17.1 (2024-11-01)
1100
+ - selector for properties
1101
+
1102
+ ### 1.17.0 (2024-11-01)
1103
+ - internal control properties
1104
+ - internal screen properties
1105
+
1106
+ ### 1.16.3 (2024-10-31)
1107
+ - raise errors on unimplemented commands
1108
+ - wrong script upgrade
1109
+
1110
+ ### 1.16.2 (2024-10-31)
1111
+ - wrong default in script
1112
+
1113
+ ### 1.16.1 (2024-10-31)
1114
+ - fix base custom webcomp bindings
1115
+
1116
+ ### 1.16.0 (2024-10-30)
1117
+ - fix errors with script system, wrong parent used
1118
+
1119
+ ### 1.15.1 (2024-10-08)
1120
+ - fix typo in screenviewer
1121
+
1122
+ ### 1.15.0 (2024-10-08)
1123
+ - fixes in margin & padding
1124
+ - work on simpleScripts, add conditions
1125
+ - fix _getDomElements in screen viewer
1126
+
1127
+ ### 1.14.0 (2024-09-18)
1128
+ - update npm packages
1129
+
1130
+ ### 1.13.2 (2024-08-21)
1131
+ - designer updates
1132
+ - add find methods
1133
+
1134
+ ### 1.13.1 (2024-08-18)
1135
+ - small designer tweaks
1136
+
1137
+ ### 1.13.0 (2024-08-18)
1138
+ - update designer
1139
+
1140
+ ### 1.12.4 (2024-07-25)
1141
+ - one more designer update
1142
+
1143
+ ### 1.12.3 (2024-07-25)
1144
+ - update designer
1145
+
1146
+ ### 1.12.2 (2024-07-24)
1147
+ - fix offset finding in box drawing
1148
+
1149
+ ### 1.12.1 (2024-07-24)
1150
+ - update edit text in designer
1151
+
1152
+ ### 1.12.0 (2024-07-24)
1153
+ - update designer
1154
+
1155
+ ### 1.11.3 (2024-06-02)
1156
+ - fix load subfolders
1157
+
1158
+ ### 1.11.2 (2024-06-01)
1159
+ - screens grid view
1160
+
1161
+ ### 1.11.1 (2024-05-31)
1162
+ - fix icons view path
1163
+
1164
+ ### 1.11.0 (2024-05-31)
1165
+ - add a icons view
1166
+
1167
+ ### 1.10.9 (2024-05-30)
1168
+ - show undo count
1169
+
1170
+ ### 1.10.8 (2024-05-30)
1171
+ - better tooltip for multiplex
1172
+ - remove unused solution entries
1173
+
1174
+ ### 1.10.7 (2024-05-29)
1175
+ - fix iframe d&d
1176
+
1177
+ ### 1.10.6 (2024-05-29)
1178
+ - better evt editor for new events
1179
+
1180
+ ### 1.10.5 (2024-05-29)
1181
+ - show events on mywebui controls
1182
+
1183
+ ### 1.10.4 (2024-05-29)
1184
+ - work on events
1185
+
1186
+ ### 1.10.3 (2024-05-29)
1187
+ - add events service for manifest
1188
+
1189
+ ### 1.10.2 (2024-05-28)
1190
+ - fix getDomelement
1191
+
1192
+ ### 1.10.1 (2024-05-28)
1193
+ - support classlist in setElementProperty
1194
+
1195
+ ### 1.10.0 (2024-05-28)
1196
+ - fix screen & parent screen access
1197
+
1198
+ ### 1.9.10 (2024-05-28)
1199
+ - fixes for blockly
1200
+
1201
+ ### 1.9.9 (2024-05-28)
1202
+ - fix firefox
1203
+
1204
+ ### 1.9.8 (2024-05-27)
1205
+ - try faster loading
1206
+
1207
+ ### 1.9.7 (2024-05-27)
1208
+ - fix change root style
1209
+
1210
+ ### 1.9.6 (2024-05-27)
1211
+ - fix null ref
1212
+
1213
+ ### 1.9.5 (2024-05-27)
1214
+ - few small changes
1215
+
1216
+ ### 1.9.4 (2024-05-27)
1217
+ - fix scripts not workin
1218
+
1219
+ ### 1.9.3 (2024-05-27)
1220
+ - update packages
1221
+
1222
+ ### 1.9.2 (2024-05-27)
1223
+ - fix screenviewer styles
1224
+
1225
+ ### 1.9.1 (2024-05-27)
1226
+ - fix first div styled from designer when zoom
1227
+
1228
+ ### 1.9.0 (2024-05-27)
1229
+ - fix zooming of child screens
1230
+
1231
+ ### 1.8.9 (2024-05-26)
1232
+ - one more spec. calculation fix
1233
+
1234
+ ### 1.8.8 (2024-05-26)
1235
+ - need to await stylesheet parse
1236
+
1237
+ ### 1.8.7 (2024-05-26)
1238
+ - fix specificity calculation
1239
+
1240
+ ### 1.8.6 (2024-05-21)
1241
+ - fix in designer property grid
1242
+
1243
+ ### 1.8.5 (2024-05-21)
1244
+ - stretch property for screenviewer
1245
+ - screennames in property list (property services now async)
1246
+
1247
+ ### 1.8.4 (2024-05-20)
1248
+ - fix typo in bindingshelper
1249
+
1250
+ ### 1.8.3 (2024-05-20)
1251
+ - fix style parsing and style bindings at runtime
1252
+
1253
+ ### 1.8.2 (2024-05-19)
1254
+ - fix in manifest parser of designer
1255
+
1256
+ ### 1.8.1 (2024-05-19)
1257
+ - fix manifest parsing
1258
+
1259
+ ### 1.8.0 (2024-05-19)
1260
+ - bindings inside of css
1261
+
1262
+ ### 1.7.8 (2024-05-19)
1263
+ - fix remove of ctx menu
1264
+
1265
+ ### 1.7.7 (2024-05-17)
1266
+ - fix stylesheet matching
1267
+
1268
+ ### 1.7.6 (2024-05-17)
1269
+ - fix edit text in transformed surface
1270
+
1271
+ ### 1.7.5 (2024-05-17)
1272
+ - more fixes with transformed elements
1273
+
1274
+ ### 1.7.4 (2024-05-16)
1275
+ - designer transformation fixes
1276
+
1277
+ ### 1.7.3 (2024-05-15)
1278
+ - fix transform combinations in designer
1279
+ - fix treeview jump to
1280
+
1281
+ ### 1.7.2 (2024-05-15)
1282
+ - few more small designer fixes
1283
+
1284
+ ### 1.7.1 (2024-05-15)
1285
+ - fix in designer
1286
+
1287
+ ### 1.7.0 (2024-05-15)
1288
+ - Add screen contextmenu
1289
+ - support editing of repeat in grid colum/row templates
1290
+ - designer updates
1291
+ - force styles
1292
+
1293
+ ### 1.6.5 (2024-05-07)
1294
+ - designer update
1295
+
1296
+ ### 1.6.4 (2024-05-05)
1297
+ - expand/collapse of child nodes in tree
1298
+ - undock all windows
1299
+
1300
+ ### 1.6.3 (2024-05-05)
1301
+ - jump to all css declarations
1302
+
1303
+ ### 1.6.2 (2024-05-04)
1304
+ - jump to styles
1305
+
1306
+ ### 1.6.1 (2024-05-02)
1307
+ - better icons
1308
+
1309
+ ### 1.6.0 (2024-05-02)
1310
+ - remove metro ui
1311
+
1312
+ ### 1.5.4 (2024-05-02)
1313
+ - fix delay command
1314
+
1315
+ ### 1.5.3 (2024-05-02)
1316
+ - fixes after package updates
1317
+
1318
+ ### 1.5.2 (2024-05-02)
1319
+ - removed missing prop
1320
+
1321
+ ### 1.5.1 (2024-05-02)
1322
+ - add delay in blockly & npm updates
1323
+
1324
+ ### 1.5.0 (2024-04-28)
1325
+ - nicer two way bindings
1326
+
1327
+ ### 1.4.9 (2024-04-24)
1328
+ - fix toastify
1329
+
1330
+ ### 1.4.8 (2024-04-20)
1331
+ - fix for controller v6
1332
+
1333
+ ### 1.4.7 (2024-04-20)
1334
+ - compact mode on controler 6 support
1335
+
1336
+ ### 1.4.6 (2024-04-10)
1337
+ - fix encoding for all files
1338
+
1339
+ ### 1.4.5 (2024-04-10)
1340
+ - fix gulp5 copy breaks fonts
1341
+
1342
+ ### 1.4.4 (2024-04-10)
1343
+ - fix compile error
1344
+
1345
+ ### 1.4.3 (2024-04-10)
1346
+ - fix copy of font
1347
+
1348
+ ### 1.4.2 (2024-04-09)
1349
+ - stretch support in screens
1350
+
1351
+ ### 1.4.1 (2024-04-09)
1352
+ - support relative signal paths in scripts
1353
+
1354
+ ### 1.4.0 (2024-04-08)
1355
+ - parameter support for scripts
1356
+
1357
+ ### 1.3.2 (2024-04-02)
1358
+ - designer upd
1359
+
1360
+ ### 1.3.1 (2024-04-01)
1361
+ - designer updates for toolbars
1362
+
1363
+ ### 1.3.0 (2024-04-01)
1364
+ - designer update
1365
+
1366
+ ### 1.2.13 (2024-03-28)
1367
+ - disabled control fix
1368
+
1369
+ ### 1.2.12 (2024-03-28)
1370
+ - add dayjs for date formating
1371
+
1372
+ ### 1.2.11 (2024-03-28)
1373
+ - add a indirection level in complex signal binding
1374
+
1375
+ ### 1.2.10 (2024-03-28)
1376
+ - package upgrades
1377
+
1378
+ ### 1.2.9 (2024-03-26)
1379
+ - try fix runtime once more
1380
+
1381
+ ### 1.2.8 (2024-03-26)
1382
+ - runtime should not load designer
1383
+
1384
+ ### 1.2.7 (2024-03-26)
1385
+ - fix used wrong script system
1386
+
1387
+ ### 1.2.6 (2024-03-25)
1388
+ - one more small runtime fix
1389
+
1390
+ ### 1.2.5 (2024-03-25)
1391
+ - fix runtime once more
1392
+
1393
+ ### 1.2.4 (2024-03-25)
1394
+ - fix runtime
1395
+
1396
+ ### 1.2.3 (2024-03-24)
1397
+ - designer upgrade for new features
1398
+
1399
+ ### 1.2.2 (2024-03-11)
1400
+ - fix broken signals selector in scripts
1401
+
1402
+ ### 1.2.1 (2024-03-11)
1403
+ - build broken after refactoring
1404
+
1405
+ ### 1.2.0 (2024-03-11)
1406
+ - extracted some code for usability
1407
+ - better text edit
1408
+ - better split view (selection matches now)
1409
+ - round pixel values
1410
+
1411
+ ### 1.1.4 (2024-03-02)
1412
+ - designer-update: mathML support, svg foreignObject support
1413
+ - better text edit support
1414
+
1415
+ ### 1.1.3 (2024-02-29)
1416
+ - text edit now workin
1417
+ - package updates
1418
+
1419
+ ### 1.1.2 (2024-02-27)
1420
+ - fix broken designer package
1421
+
1422
+ ### 1.1.1 (2024-02-27)
1423
+ - designer and docking fixes
1424
+
1425
+ ### 1.1.0 (2024-02-26)
1426
+ - support undock to new browser window
1427
+ - preview fixes for position: static in styles
1428
+
1429
+ ### 1.0.56 (2024-02-26)
1430
+ - screenviewer - add also nodes from domparser head
1431
+
1432
+ ### 1.0.55 (2024-02-22)
1433
+ - more designer fixes
1434
+
1435
+ ### 1.0.54 (2024-02-22)
1436
+ - multiple designer fixes
1437
+
1438
+ ### 1.0.53 (2024-02-19)
1439
+ - fix lazy bound lit event name
1440
+
1441
+ ### 1.0.52 (2024-02-19)
1442
+ - fix captured local
1443
+
1444
+ ### 1.0.51 (2024-02-19)
1445
+ - fix lazy loaded lit elments
1446
+ - fix script url
1447
+
1448
+ ### 1.0.50 (2024-02-18)
1449
+ - again fix in class binding
1450
+
1451
+ ### 1.0.49 (2024-02-18)
1452
+ - class is attribute in bindings
1453
+ - fix error logging
1454
+
1455
+ ### 1.0.48 (2024-02-17)
1456
+ - fix wunderbaum error
1457
+
1458
+ ### 1.0.47 (2024-02-15)
1459
+ - designer fixes with property grid
1460
+
1461
+ ### 1.0.46 (2024-02-15)
1462
+ - designer updates
1463
+
1464
+ ### 1.0.45 (2024-02-12)
1465
+ - update designer with bugfixes
1466
+
1467
+ ### 1.0.44 (2024-02-11)
1468
+ - fix bindings in designer
1469
+
1470
+ ### 1.0.43 (2024-02-11)
1471
+ - refresh tree when controls deleted
1472
+
1473
+ ### 1.0.42 (2024-02-11)
1474
+ - fix grid resize
1475
+ - fix grid extension display
1476
+
1477
+ ### 1.0.41 (2024-02-10)
1478
+ - better element drawing (with undo)
1479
+ - better title extension
1480
+
1481
+ ### 1.0.40 (2024-02-10)
1482
+ - dblclick in solution should not change tool
1483
+ - designer update for performance fixes
1484
+
1485
+ ### 1.0.39 (2024-02-09)
1486
+ - upgrade designer package once more to fix some issues
1487
+
1488
+ ### 1.0.38 (2024-02-09)
1489
+ - fix blockly
1490
+ - add blockly templated string
1491
+ - work on adopted styles
1492
+ - update designer to fix snaplines
1493
+
1494
+ ### 1.0.37 (2024-01-31)
1495
+ - designer fix for background
1496
+
1497
+ ### 1.0.36 (2024-01-31)
1498
+ - upgade to new designer for better style encapsulation
1499
+
1500
+ ### 1.0.35 (2024-01-30)
1501
+ - package upgrades (fix in designer for css patching)
1502
+ - typos
1503
+
1504
+ ### 1.0.34 (2024-01-28)
1505
+ - indirect signal for $ access
1506
+
1507
+ ### 1.0.33 (2024-01-24)
1508
+ - one more designer update
1509
+
1510
+ ### 1.0.32 (2024-01-24)
1511
+ - fix for nested stylesheets
1512
+
1513
+ ### 1.0.31 (2024-01-23)
1514
+ - string could be null
1515
+
1516
+ ### 1.0.30 (2024-01-22)
1517
+ - better script errors
1518
+
1519
+ ### 1.0.29 (2024-01-22)
1520
+ - remove a few errors
1521
+
1522
+ ### 1.0.28 (2024-01-22)
1523
+ - npm upgrade for error of undoservice
1524
+
1525
+ ### 1.0.27 (2024-01-22)
1526
+ - toast message on errors
1527
+
1528
+ ### 1.0.26 (2024-01-22)
1529
+ - npm package upgrades
1530
+
1531
+ ### 1.0.25 (2024-01-21)
1532
+ - use appendChild
1533
+
1534
+ ### 1.0.24 (2024-01-21)
1535
+ - fix later loaded scripts
1536
+
1537
+ ### 1.0.23 (2024-01-21)
1538
+ - twoway should only set first value
1539
+ - fix error with noParse
1540
+
1541
+ ### 1.0.22 (2024-01-20)
1542
+ - fix binding with unit
1543
+ - fix refactor service missing command
1544
+
1545
+ ### 1.0.21 (2024-01-19)
1546
+ - fix designer grid overlay
1547
+ - stecil ackage hacks
1548
+
1549
+ ### 1.0.20 (2024-01-18)
1550
+ - fix broken split view
1551
+
1552
+ ### 1.0.19 (2024-01-17)
1553
+ - simpler one way bindings with expressions
1554
+
1555
+ ### 1.0.18 (2024-01-17)
1556
+ - text selection selects in designer
1557
+
1558
+ ### 1.0.17 (2024-01-16)
1559
+ - fix opacity of D&D node
1560
+
1561
+ ### 1.0.16 (2024-01-16)
1562
+ - fix drag drop of tree nodes
1563
+
1564
+ ### 1.0.15 (2024-01-14)
1565
+ - support upper/lowercase and spaces in screens & controls
1566
+
1567
+ ### 1.0.13 (2024-01-14)
1568
+ - correct event name in lit bindings
1569
+
1570
+ ### 1.0.12 (2024-01-14)
1571
+ - upgrade baseCustomWebcomp for attribute binding
1572
+
1573
+ ### 1.0.11 (2024-01-14)
1574
+ - API for reading object lists
1575
+
1576
+ ### 1.0.10 (2024-01-14)
1577
+ - fix selected tool
1578
+
1579
+ ### 1.0.9 (2024-01-14)
1580
+ - bugfix controls editor
1581
+
1582
+ ### 1.0.8 (2024-01-14)
1583
+ - fix import/export
1584
+
1585
+ ### 1.0.7 (2024-01-14)
1586
+ - bigger formula editor when multiline
1587
+
1588
+ ### 1.0.6 (2024-01-14)
1589
+ - draw widgets when selected in tree
1590
+
1591
+ ### 1.0.5 (2024-01-14)
1592
+ - bind to iobroker objects (via $ prefix)
1593
+
1594
+ ### 1.0.4 (2024-01-14)
1595
+ - fix open screens in folders
1596
+
1597
+ ### 1.0.3 (2024-01-14)
1598
+ - only lowercase folders
1599
+
1600
+ ### 1.0.2 (2024-01-14)
1601
+ - variablen in convertern
1602
+ - configurable meta tags
1603
+
1604
+ ### 1.0.1 (2024-01-13)
1605
+ - fix issue with npm
1606
+
1607
+ ### 1.0.0 (2024-01-13)
1608
+ - new script command: CalculateSignalValue
1609
+ - javascript code completition
1610
+ - better types in code completition
1611
+ - fix writing of child nodes if content is bound at design time
1612
+ - use monaco editor in expressions
1613
+ - use custom var names in expressions
1614
+ - Screens & Controls can have subfolders
1615
+ - decl. shadow dom support in screen viewer
1616
+ - allow 'local_' as tag prefix for local vars
1617
+
1618
+ ### 0.23.3 (2024-01-04)
1619
+ - add local valueAsNumber property
1620
+
1621
+ ### 0.23.2 (2024-01-03)
1622
+ - again fix runtime was not initialized
1623
+
1624
+ ### 0.23.1 (2024-01-03)
1625
+ - fix runtime was not initialized
1626
+
1627
+ ### 0.23.0 (2024-01-03)
1628
+ - todo, support 2way bindings too custom properties
1629
+ - code completition for iobrokerHandler and runtime
1630
+ - simple scripts, access value of event
1631
+
1632
+ ### 0.22.7 (2023-12-25)
1633
+ - and one more...
1634
+
1635
+ ### 0.22.6 (2023-12-25)
1636
+ - and one more fix on importmaps
1637
+
1638
+ ### 0.22.5 (2023-12-25)
1639
+ - more fixes with import map
1640
+
1641
+ ### 0.22.4 (2023-12-25)
1642
+ - work on export directive
1643
+
1644
+ ### 0.22.3 (2023-12-25)
1645
+ - fix missing .js extensions
1646
+
1647
+ ### 0.22.2 (2023-12-25)
1648
+ - fix scripts
1649
+
1650
+ ### 0.22.1 (2023-12-25)
1651
+ - add open screen in blockly
1652
+
1653
+ ### 0.22.0 (2023-12-25)
1654
+ - work on esbuild (but not yet ready, delayed till blockly is ESM)
1655
+ - bugfixes with scripts
1656
+ - remove typescript, use javascript directly
1657
+ - typed value on SetValue function
1658
+
1659
+ ### 0.21.3 (2023-12-20)
1660
+ - fix set style
1661
+
1662
+ ### 0.21.2 (2023-12-20)
1663
+ - more commands in blockly
1664
+
1665
+ ### 0.21.1 (2023-12-19)
1666
+ - fixed paths
1667
+
1668
+ ### 0.21.0 (2023-12-19)
1669
+ - start of blockly support
1670
+
1671
+ ### 0.20.7 (2023-12-15)
1672
+ - fix importmap creation missed "/"
1673
+
1674
+ ### 0.20.6 (2023-12-12)
1675
+ - few wunderbaum fixes
1676
+
1677
+ ### 0.20.5 (2023-12-11)
1678
+ - better custom properties view
1679
+
1680
+ ### 0.20.4 (2023-12-11)
1681
+ - fix in css prop binding
1682
+
1683
+ ### 0.20.3 (2023-12-11)
1684
+ - update designer npm
1685
+
1686
+ ### 0.20.2 (2023-12-11)
1687
+ - fix for class binding
1688
+
1689
+ ### 0.20.1 (2023-12-11)
1690
+ - binding for classes
1691
+
1692
+ ### 0.20.0 (2023-12-11)
1693
+ - allow bindings to css vars
1694
+
1695
+ ### 0.19.3 (2023-12-10)
1696
+ - switch loglevel
1697
+
1698
+ ### 0.19.2 (2023-12-10)
1699
+ - package updates
1700
+
1701
+ ### 0.19.1 (2023-12-07)
1702
+ - fix load error
1703
+
1704
+ ### 0.19.0 (2023-12-07)
1705
+ - waitForReady needs to be awaited
1706
+
1707
+ ### 0.18.15 (2023-12-06)
1708
+ - fix missing null check
1709
+
1710
+ ### 0.18.14 (2023-12-06)
1711
+ - fix normal binding unsubscribe
1712
+
1713
+ ### 0.18.13 (2023-12-06)
1714
+ - fix historic binding unsubscribe
1715
+
1716
+ ### 0.18.12 (2023-12-06)
1717
+ - remove bindings in customcontrols
1718
+
1719
+ ### 0.18.11 (2023-12-06)
1720
+ - fix broken load historic
1721
+
1722
+ ### 0.18.10 (2023-12-06)
1723
+ - load historic only when previous load is finished
1724
+
1725
+ ### 0.18.9 (2023-12-05)
1726
+ - fix tooltips
1727
+
1728
+ ### 0.18.8 (2023-12-05)
1729
+ - lazy remove the title
1730
+
1731
+ ### 0.18.7 (2023-12-05)
1732
+ - better fix for monaco
1733
+
1734
+ ### 0.18.6 (2023-12-05)
1735
+ - fix for monaco bug
1736
+ - title removed
1737
+
1738
+ ### 0.18.5 (2023-12-05)
1739
+ - code completition for base custom webcomponent
1740
+ - object property type
1741
+
1742
+ ### 0.18.4 (2023-12-03)
1743
+ - better text for historic bindings cancel
1744
+
1745
+ ### 0.18.3 (2023-12-03)
1746
+ - fix reload in dynamics editor
1747
+
1748
+ ### 0.18.2 (2023-12-03)
1749
+ - ui for historic binding
1750
+ - fixes in refactor view
1751
+
1752
+ ### 0.18.1 (2023-12-03)
1753
+ - fixes in refactor service
1754
+
1755
+ ### 0.18.0 (2023-12-01)
1756
+ - tooltip in solution explorer
1757
+ - npm upgrade of designer
1758
+ - refactor view for bindings and scripts
1759
+
1760
+ ### 0.17.0 (2023-11-29)
1761
+ - remove 2 uneeded files
1762
+ - designer update
1763
+
1764
+ ### 0.16.6 (2023-11-28)
1765
+ - check for invalid propertynames
1766
+ - move properties
1767
+
1768
+ ### 0.16.5 (2023-11-27)
1769
+ - copy screen and custom controls
1770
+
1771
+ ### 0.16.4 (2023-11-27)
1772
+ - fix usage of mywebui in windows
1773
+
1774
+ ### 0.16.3 (2023-11-24)
1775
+ - extra style for font declarations, they are not allowed in shadow dom
1776
+
1777
+ ### 0.16.2 (2023-11-23)
1778
+ - fix remove script command
1779
+
1780
+ ### 0.16.1 (2023-11-23)
1781
+ - additional file dnd
1782
+
1783
+ ### 0.16.0 (2023-11-23)
1784
+ - add additional files node and upload
1785
+
1786
+ ### 0.15.1 (2023-11-22)
1787
+ - export as xml (screens & controls)
1788
+ - binding historic with reload
1789
+ - fix dialog
1790
+
1791
+ ### 0.15.0 (2023-11-19)
1792
+ - uncloseable dialog
1793
+ - css properties for dialog
1794
+ - binding to historic data
1795
+
1796
+ ### 0.14.1 (2023-11-12)
1797
+ - dialog centered
1798
+
1799
+ ### 0.14.0 (2023-11-12)
1800
+ - add simple dialog
1801
+
1802
+ ### 0.13.1 (2023-11-11)
1803
+ - two way bindings with expressions
1804
+
1805
+ ### 0.13.0 (2023-11-09)
1806
+ - fix upercase screen names in runtime
1807
+ - raster in designer is now adjustable
1808
+ - copy object nodes now copies complete string
1809
+ - context menu to directly edit custom element
1810
+ - fix handler path in script
1811
+ - uiChangedView now workin
1812
+ - error when importing invalid file (for example html instead of json)
1813
+
1814
+ ### 0.12.3 (2023-09-20)
1815
+ - after eval removal, functions need a return
1816
+
1817
+ ### 0.12.2 (2023-09-20)
1818
+ - events names for 2way bindings need a editor
1819
+
1820
+ ### 0.12.1 (2023-09-20)
1821
+ - two way for indirect bindings
1822
+
1823
+ ### 0.12.0 (2023-09-20)
1824
+ - support indirect bindings via {...} in signals (like in vis)
1825
+
1826
+ ### 0.11.2 (2023-09-17)
1827
+ - check npm package name
1828
+
1829
+ ### 0.11.1 (2023-09-16)
1830
+ - fix build on windows
1831
+
1832
+ ### 0.11.0 (2023-09-11)
1833
+ - dragdrop fixes
1834
+ - screen/control size fixes
1835
+ - connected/disconnected callbacks
1836
+
1837
+ ### 0.10.0 (2023-09-10)
1838
+ - new script commands
1839
+ - bugfix with bindings and empty events
1840
+ - select exported function in javascript
1841
+ - bugfix in save of screens
1842
+ - typescript in scripts
1843
+ - started work on translateable runtime
1844
+
1845
+ ### 0.9.0 (2023-09-06)
1846
+ - signal selector in properties
1847
+ - screen selector in properties
1848
+ - new screen had style in scripts
1849
+ - indirect value/property acces from scripts via editor
1850
+ - list multiple undo entries (on hold of undo)
1851
+
1852
+ ### 0.8.0 (2023-09-03)
1853
+ - update designer to add and fix some commands
1854
+ - move screen/control scripts out of html code
1855
+ - add a javascript editor view
1856
+ - bugfix when states where null after a fresh install
1857
+ - designer addons do now work again
1858
+ - docking framework updated, cause of bugs with undocking
1859
+
1860
+ ### 0.7.0 (2023-09-01)
1861
+ - screens and controls have now settings (width, height, useGlobalStyle)
1862
+
1863
+ ### 0.6.0 (2023-09-01)
1864
+ - removed many uneeded files from installation
1865
+
1866
+ ### 0.5.1 (2023-09-01)
1867
+ - show version in ui
1868
+
1869
+ ### 0.5.0 (2023-09-01)
1870
+ - signal as property type
1871
+ - removed svg-image control
1872
+ - shorter custom control tag name
1873
+ - better dynamics editor
1874
+ - dock ui fixes
1875
+ - control ui from backend (switch view, reload)
1876
+
1877
+ ### 0.4.0 (2023-08-30)
1878
+ - remove uneeded files from upload
1879
+ - remove icons into extra iobroker packages
1880
+ - support icon adapters
1881
+ - rename screens & controls
1882
+
1883
+ ### 0.3.0 (2023-08-29)
1884
+ - default value for custom properties
1885
+ - open screens only once
1886
+ - property bindings default one way
1887
+
1888
+ ### 0.2.3 (2023-08-28)
1889
+ - rework how custom controls are initalized
1890
+
1891
+ ### 0.2.2 (2023-08-28)
1892
+ - better support & fixes of custom elements
1893
+ - enum properties in custom controls
1894
+ - sample custom controls
1895
+
1896
+ ### 0.2.1 (2023-08-28)
1897
+ - null ref fix in bindings
1898
+
1899
+ ### 0.2.0 (2023-08-28)
1900
+ - Import/Export of Screens/Images/Controls
1901
+ - Define your own Controls directly in mywebui
1902
+ - Drag/Drop of Icons/Images to Properties
1903
+ - Drag/Drop of objects to Bindings-Editor Signalname
1904
+ - Basic functionality of CustomControls
1905
+
1906
+ ### 0.1.0 (2023-08-27)
1907
+ - initial public release
1908
+
1909
+ ## Credits
1910
+
1911
+ **Original Author:** jogibear9988 (Jochen Kühner)
1912
+ **Custom Edition:** gokturk413
1913
+
1914
+ This is a custom edited and enhanced version of the original ioBroker.mywebui adapter with additional features and hardware-bound licensing.
1915
+
1916
+ ### Original Repository
1917
+ https://github.com/iobroker-community-adapters/ioBroker.mywebui
1918
+
1919
+ ---
1920
+
1921
+ ## License
1922
+
1923
+ Creative Commons Attribution-NonCommercial 4.0 International (CC-BY-NC-4.0)
1924
+
1925
+ **Original Work:**
1926
+ Copyright (c) 2025 jogibear9988 <jochen.kuehner@gmx.de>
1927
+
1928
+ **Modified Work:**
1929
+ Copyright (c) 2026 gokturk413
1930
+
1931
+ See the [LICENSE](./LICENSE) file for the full legal text.
1932
+
1933
+ **Note:** This custom edition includes proprietary license validation and hardware binding features.