iobroker.mywebui 1.171.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 -1924
  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 +1 -0
  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 +4 -4
  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 +2 -2
  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-Z55QL2UA.js +0 -1
  237. package/www/dist/frontend/bundle/ReportViewer-SHCN5B55.js +0 -197
  238. package/www/dist/frontend/bundle/chunk-AIRLZ2JA.js +0 -1
  239. package/www/dist/frontend/bundle/chunk-KLM273ZH.js +0 -21
package/README.md CHANGED
@@ -1,1924 +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.171.0 (2026-10-01)
306
- * (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
307
-
308
- ### 1.170.0 (2026-10-01)
309
- * (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
310
-
311
- ### 1.169.0 (2026-10-01)
312
- * (gokturk413) feat(navigation): Start as — the menu opens full, icons only, hidden, or as this browser left it last time
313
-
314
- ### 1.168.2 (2026-10-01)
315
- * (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
316
-
317
- ### 1.168.1 (2026-10-01)
318
- * (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
319
-
320
- ### 1.168.0 (2026-10-01)
321
- * (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
322
-
323
- ### 1.167.1 (2026-10-01)
324
- * (gokturk413) fix(designer): Settings → Navigation → Groups follows Group items at once
325
-
326
- ### 1.167.0 (2026-10-01)
327
- * (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
328
-
329
- ### 1.166.0 (2026-10-01)
330
- * (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)
331
-
332
- ### 1.165.1 (2026-10-01)
333
- * (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
334
-
335
- ### 1.165.0 (2026-10-01)
336
- * (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)
337
-
338
- ### 1.164.0 (2026-10-01)
339
- * (gokturk413) feat(designer): layout toolbar, upright overlays on rotated controls; incremental npm upload
340
-
341
- ### 1.163.1 (2026-09-30)
342
- * (gokturk413) fix(runtime): pending write drawn at once; @click="[[…]]" on a screen threw
343
-
344
- ### 1.163.0 (2026-09-30)
345
- * (gokturk413) feat(runtime): write feedback — every operator write shows whether the driver confirmed it
346
-
347
- ### 1.162.8 (2026-09-30)
348
- * (gokturk413) fix(designer): the right tool-window strip lost its names on a short window
349
-
350
- ### 1.162.7 (2026-09-30)
351
- * (gokturk413) fix(designer): the obfuscated release designer did not load — ReportToolbox
352
-
353
- ### 1.162.6 (2026-09-30)
354
- * (gokturk413) fix(controls): valve_faceplate buttons carried an empty "bind-attr:"
355
-
356
- ### 1.162.5 (2026-09-30)
357
- * (gokturk413) fix(licence): a machine id that stops answering is no longer a tamper
358
-
359
- ### 1.162.4 (2026-09-30)
360
- * (gokturk413) fix(designer): report canvas styles, Report toolbox click, translation key actions
361
-
362
- ### 1.162.3 (2026-09-30)
363
- * (gokturk413) fix(controls): property defaults set before the first binding pass
364
-
365
- ### 1.162.2 (2026-09-30)
366
- * (gokturk413) fix(runtime): two-way bindings write numbers to number states; directive test heading
367
-
368
- ### 1.162.1 (2026-09-30)
369
- * (gokturk413) perf(runtime): the navigation menu appears with the screen
370
-
371
- ### 1.162.0 (2026-09-29)
372
- * (gokturk413) feat(charts): `<iobroker-webui-echart>` — live ECharts in viewer and designer, the same chart in HTML/PDF
373
-
374
- ### 1.161.0 (2026-09-29)
375
- * (gokturk413) feat(designer): History Query builder + Report toolbox; docs/reports.md
376
-
377
- ### 1.160.0 (2026-09-28)
378
- * (gokturk413) feat(reports): report theme, full web platform in the sandbox; app bar steady and responsive
379
-
380
- ### 1.159.0 (2026-09-28)
381
- * (gokturk413) fix(reports): pictures in generated reports — SVG/PNG in HTML and PDF
382
-
383
- ### 1.158.0 (2026-09-28)
384
- * (gokturk413) feat(reports): Output → Languages — one server file per language, {lang} in path or name
385
-
386
- ### 1.157.0 (2026-09-28)
387
- * (gokturk413) feat: engine in the fork; translations in reports; live toolbox; quiet connection monitor
388
-
389
- ### 1.156.0 (2026-09-28)
390
- * (gokturk413) fix(directives): every template directive tested in control, screen and report; 9 bugs fixed
391
-
392
- ### 1.155.0 (2026-09-27)
393
- * (gokturk413) feat(reports): template directives on screen and report pages; history options demo
394
-
395
- ### 1.154.0 (2026-09-27)
396
- * (gokturk413) feat(reports): reports rendered for a user, report scripts in the sandbox, history: directive
397
-
398
- ### 1.153.0 (2026-09-27)
399
- * (gokturk413) feat(reports): the fonts the author picks reach the PDF; toolbox rights set in the designer
400
-
401
- ### 1.152.0 (2026-09-27)
402
- * (gokturk413) feat(reports): history on the backend, five languages in PDF, the dialog's dates applied
403
-
404
- ### 1.151.0 (2026-09-27)
405
- * (gokturk413) feat(reports): PDF painted as the report looks — Takumi replaces pdfmake
406
-
407
- ### 1.150.0 (2026-09-27)
408
- * (gokturk413) feat(reports): live reports, range from states, reports embeddable in screens
409
-
410
- ### 1.149.0 (2026-09-27)
411
- * (gokturk413) fix(reports): print in colour; show the date boxes only for a custom range; icons in the toolbox
412
-
413
- ### 1.148.0 (2026-09-27)
414
- * (gokturk413) feat(reports): the browser's printed date, title, URL and page number are optional
415
-
416
- ### 1.147.0 (2026-09-27)
417
- * (gokturk413) fix(reports): a browser saves on the server through the trigger state, not sendTo
418
-
419
- ### 1.146.1 (2026-09-27)
420
- * (gokturk413) fix(reports): print the report alone, not the whole application
421
-
422
- ### 1.146.0 (2026-09-27)
423
- * (gokturk413) feat(reports): PDF and CSV output, a time range in the viewer, reports in the menu
424
-
425
- ### 1.145.0 (2026-09-26)
426
- * (gokturk413) feat(reports): a bound state starts a server run; theme the Report window
427
-
428
- ### 1.144.0 (2026-09-26)
429
- * (gokturk413) feat(reports): schedule + trigger (task 9), VS-style tool windows (task 10)
430
-
431
- ### 1.143.0 (2026-09-26)
432
- * (gokturk413) feat(reports): generate on the server, download in the browser (task 8)
433
-
434
- ### 1.142.0 (2026-09-26)
435
- * (gokturk413) feat(reports): run control scripts on a DOM inside the sandbox (task 6)
436
-
437
- ### 1.141.0 (2026-09-26)
438
- * (gokturk413) feat(designer): events on the screen / report root, in the Events panel
439
-
440
- ### 1.140.0 (2026-09-26)
441
- * (gokturk413) feat(reports): backend renderer, expression sandbox, report events, screen-only (task 5)
442
-
443
- ### 1.139.0 (2026-09-26)
444
- * (gokturk413) feat(reports): open a report in the browser, with the full screen chrome (task 4)
445
-
446
- ### 1.138.0 (2026-09-26)
447
- * (gokturk413) feat(reports): the page canvas — paper, rulers, bands and page breaks (task 3)
448
-
449
- ### 1.137.0 (2026-09-26)
450
- * (gokturk413) feat(reports): Reports in the solution tree, with its own icons (task 2)
451
-
452
- ### 1.136.1 (2026-09-26)
453
- * (gokturk413) fix(reports): a report keeps every screen setting; only its size comes from the page
454
-
455
- ### 1.136.0 (2026-09-26)
456
- * (gokturk413) feat(reports): the .report object type (task 1 of the report plan)
457
-
458
- ### 1.133.0 (2026-09-25)
459
- * (gokturk413) feat(licence): move mywebui to the scada-core state machine (RFC-005 L3)
460
- * (gokturk413) feat(licence): a host ledger per licence in every candidate directory
461
- * (gokturk413) fix(licence): a key no longer erases the trial history in the adapter's slot
462
- * (gokturk413) fix(licence): a stopped install no longer opens a usage-grace window
463
- * (gokturk413) fix(licence): do not log 'unlocked' for a stopped install
464
- * (gokturk413) feat(admin): explain the trial, the two hardware ids and the per-VM licence
465
-
466
- ### 1.132.0 (2026-09-15)
467
- * (gokturk413) fix(designer): Properties dock tabs wrap onto rows instead of truncating
468
- * (gokturk413) fix(ci): pin Rust to a newer stable broke both aarch64 cross-builds
469
-
470
- ### 1.130.0 (2026-08-04)
471
- * (gokturk413) fix(dist): the public release would have shipped a broken adapter — three ways
472
- * (gokturk413) fix(ci)!: the release workflow would have force-pushed over this repo's own history
473
- * (gokturk413) fix(ci): expect the triple names napi actually produces, and cross-check them
474
-
475
- ### 1.129.0 (2026-08-04)
476
- * (gokturk413) feat(native): main.js permission handlers call the engine
477
- * (gokturk413) fix(dist): ship the engine and its bridge; guard against an engine-less tarball
478
- * (gokturk413) feat(dist): allow-list staging script for the public artifact tree
479
- * (gokturk413) fix(dist): stop shipping scripts/ — it is the build process, not the product
480
- * (gokturk413) feat(dist): independent pre-push audit of the staged public tree
481
- * (gokturk413) fix(dist): stop publishing TypeScript sources and vendored package internals
482
- * (gokturk413) feat(ci): public release workflow — allow-list staging, pre-push audit, dry-run default
483
- * (gokturk413) fix(ci): deliver the cross-built engines into the package
484
- * (gokturk413) fix(ci): publish builds every engine itself, and demands all 8 before shipping
485
-
486
- ### 1.128.0 (2026-08-03)
487
- * (gokturk413) fix(license): gate every deploying command, not just two of them
488
- * (gokturk413) feat(native): group resolution + checkVisibility allow-list
489
- * (gokturk413) feat(native): screen ACL — write allow-rule, read blacklist, new/legacy arbitration
490
- * (gokturk413) fix(native): a non-string in a blocked list denies, matching the JS
491
- * (gokturk413) feat(native): PlantPAx write permission model (action codes + area levels)
492
- * (gokturk413) fix(native): an explicit null area level falls through to the '*' fallback
493
- * (gokturk413) fix(native): model JS falsiness — non-string codes and empty-string levels no longer fail open
494
- * (gokturk413) fix(native): prototype-inherited action keys no longer bypass the permission model
495
- * (gokturk413) feat(native): resolve_screen_access/visibility/sec_write napi entries + parity test
496
-
497
- ### 1.127.0 (2026-08-02)
498
- * (gokturk413) feat(license): surface tag usage + grace/violation state in the designer console
499
- * (gokturk413) fix(license): keep the grace high-water-mark alive when an audit fails
500
-
501
- ### 1.126.0 (2026-08-01)
502
- * (gokturk413) feat(native): run/cache the usage audit and enforce the locked verdict
503
-
504
- ### 1.125.0 (2026-08-01)
505
- * (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
506
- * (gokturk413) feat(native): scaffold mywebui_scada_engine crate with version()/ping()
507
- * (gokturk413) feat(native): engineBridge loader as the single engine import point
508
- * (gokturk413) feat(native): load mywebui_scada_engine in adapter main() and log its version
509
- * (gokturk413) feat(native): cross-platform hardware-id (whid2- machine-id/UUID/MachineGuid)
510
- * (gokturk413) feat(native): Ed25519 license verify + payload parse (embedded public key)
511
- * (gokturk413) feat(native): clock-tamper-resistant 30-day trial anchor (monotonic + HMAC + hwid-bound)
512
- * (gokturk413) feat(native): validate_license/hardware_id napi entry points + edition/trial resolution
513
- * (gokturk413) feat(native): main.js uses the engine for license/hardware-id; no-stop trial->free; delete JS validators
514
- * (gokturk413) fix(license): designer allows trial/free editions (was locking them out)
515
- * (gokturk413) fix(build): rebuild committed dist/backend from src-original (Phase 1) + drop orphan validator
516
- * (gokturk413) feat(native): bridge Effect protocol + pure demo handler
517
- * (gokturk413) feat(native): handle_demo napi export + JS effectApplier + mock-host B test
518
- * (gokturk413) feat(native): async host-callback PoC (napi ThreadsafeFunction + awaited JS Promise)
519
- * (gokturk413) feat(native): importmap scaffold — ImportmapBuilder + path helpers + embedded hacks
520
- * (gokturk413) fix(native): importmap uses posix pjoin (not native path join) for web-path parity
521
- * (gokturk413) feat(native): importmap add_to_importmap (exports/main/module resolution)
522
- * (gokturk413) fix(native): pjoin normalizes leading ./ like path.posix.join (once, not per call site)
523
- * (gokturk413) fix(native): add_to_importmap uses plain concat at JS:282/285/293 (not pjoin)
524
- * (gokturk413) feat(native): importmap load_dependency (recursive, deduped, native fs)
525
- * (gokturk413) feat(native): importmap parse_npm_package (custom-elements + esbuild bundle integration)
526
- * (gokturk413) feat(native): importmap build_importmap top-level + writes 5 loader files
527
- * (gokturk413) fix(native): serde_json preserve_order so generated importmap.js matches JS key order
528
- * (gokturk413) feat(native): create_importmap napi async wrapper + Node integration test
529
- * (gokturk413) feat(native): main.js uses engine.create_importmap; delete JS ImportmapCreator
530
- * (gokturk413) fix(native): live-parity fixes — bundle host must resolve a string; JS:86 error text
531
- * (gokturk413) fix(build): rebuild dist/backend after the port + correct the host-callback contract docs
532
- * (gokturk413) feat(native): upload walk + ignore list + progress throttling (pure, tested)
533
- * (gokturk413) feat(native): upload collect_existing_files_to_delete (DB-driven recursion)
534
- * (gokturk413) feat(native): upload erase/upload_internal/driver with effect logging
535
- * (gokturk413) fix(native): normalize source_dir in the upload driver (backslash paths skipped every file)
536
- * (gokturk413) feat(native): upload_widgets napi wrapper + Node integration test
537
- * (gokturk413) feat(native): main.js uses engine.upload_widgets; delete JS UploadHelper
538
- * (gokturk413) feat(native): tag extraction — distinct ioBroker state IDs from screens/controls
539
- * (gokturk413) feat(native): usage counting, limit checking and deterministic allowed-screen selection
540
- * (gokturk413) fix(native): dedupe project names by set, stabilize counted_tags order, document unchecked limits
541
- * (gokturk413) feat(native): 2-day grace anchor — HMAC-signed, hardware-bound, rollback-proof
542
- * (gokturk413) fix(native): saturating arithmetic in grace/trial anchors + explicit blob-persistence contract
543
- * (gokturk413) feat(native): audit_usage napi entry — usage, violations, locked verdict and grace state
544
- * (gokturk413) fix(native): corrupt licence falls back to free tier; degraded audits never unlock or clear the grace anchor
545
- * (gokturk413) fix(native): licence needs a positive marker; a hard lock only clears via a verified licence
546
- * (gokturk413) fix(native)!: audit_usage verifies the licence KEY itself, not a caller-supplied verdict
547
-
548
- ### 1.124.0 (2026-07-07)
549
- * (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)
550
-
551
- ### 1.123.0 (2026-07-07)
552
- * (gokturk413) feat: (deep-fidelity) — PlantPAx-faithful SVG device symbols + adapter-data-gating
553
-
554
- ### 1.122.0 (2026-07-07)
555
- * (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
556
-
557
- ### 1.121.0 (2026-07-07)
558
- * (gokturk413) feat: (deep-fidelity) — alarm-row uses REAL Rockwell PNG icons (data-URI)
559
-
560
- ### 1.120.0 (2026-07-07)
561
- * (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)
562
-
563
- ### 1.119.0 (2026-07-07)
564
- * (gokturk413) feat: (wave B start) — new types P_DIn + P_DOut (Discrete I/O)
565
-
566
- ### 1.118.0 (2026-07-07)
567
- * (gokturk413) feat: (wave A COMPLETE) — Valves/PIDE/Infra verified on real tab model + members
568
-
569
- ### 1.115.0 (2026-07-07)
570
- * (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.
571
-
572
- ### 1.114.4 (2026-07-07)
573
- * (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
574
-
575
- ### 1.114.3 (2026-07-07)
576
- * (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
577
-
578
- ### 1.114.2 (2026-07-06)
579
- * (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
580
-
581
- ### 1.114.1 (2026-07-06)
582
- * (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)
583
-
584
- ### 1.114.0 (2026-07-06)
585
- * (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)
586
-
587
- ### 1.113.0 (2026-07-06)
588
- * (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
589
-
590
- ### 1.112.0 (2026-07-06)
591
- * (gokturk413) feat: (wave A) - scaling-widget (raw->EU config) + status-flag components
592
-
593
- ### 1.111.0 (2026-07-06)
594
- * (gokturk413) feat: (wave A) — alarm-row component: severity + UNACK/ACK'D/SHELVED/SUPPRESSED/DISABLED chip + ack/shelve buttons
595
-
596
- ### 1.110.0 (2026-07-06)
597
- * (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
598
-
599
- ### 1.109.0 (2026-07-06)
600
- * (gokturk413) feat: (wave A) — hybrid canonical+member labels in PlantPAx Types editor; P_AIn seed verified vs real AOI members
601
- * (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
602
-
603
- ### 1.108.1 (2026-07-06)
604
- * (gokturk413) fix: PlantPAx faceplate/symbol button wiring (imperative ppWireSymbol/ppWireHeader; remove broken @click=[[...]] which no-oped)
605
-
606
- ### 1.108.0 (2026-07-06)
607
- * (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
608
-
609
- ### 1.107.0 (2026-07-06)
610
- * (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
611
-
612
- ### 1.106.0 (2026-07-06)
613
- * (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)
614
-
615
- ### 1.105.0 (2026-07-06)
616
- * (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)
617
-
618
- ### 1.104.1 (2026-07-06)
619
- * (gokturk413) feat: enlarge faceplate popup (min-width 320->480, settings 520x600, roomier padding/font)
620
-
621
- ### 1.104.0 (2026-07-06)
622
- * (gokturk413) feat: enriched Alarms tab (unacked count + Ack All/Reset & Ack/Reset via OCmd_ResetAckAll/OCmd_Reset) + 3 alarm-cmd seed fields
623
- * (gokturk413) feat: wave1 primitives — plantpax/components/{status-lamp,command-button} (reusable boolean indicator + secWriteState command button)
624
- * (gokturk413) feat: wave1 input primitives — plantpax/components/{toggle-switch,radio-toggle,std-slider} (read+write via secWriteState, secCan-gated)
625
- * (gokturk413) feat: wave1 tank BlockStyle symbol (fill level = PV%, alarm color, click->faceplate) — 8 reusable plantpax components total
626
-
627
- ### 1.103.0 (2026-07-06)
628
- * (gokturk413) feat: Flintium-style icon tab-strip (Main: Operator/Maintenance/Trends/Diagnostics/Alarms + gear->Advanced: Engineering/HMI/Faults) with Trends/Diagnostics/HMI/Faults panes
629
-
630
- ### 1.102.0 (2026-07-06)
631
- * (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)
632
- * (gokturk413) feat: add plantpax/components/sparkline (live mini-trend) + embed in P_AIn Operator
633
-
634
- ### 1.100.0 (2026-07-05)
635
- * (gokturk413) feat: PlantPAx faceplate popup host on IOB (mount/unmount, no display:none leak) + typeToTag
636
- * (gokturk413) feat: PlantPAx generator + P_AIn symbol & 4-tab faceplate controls
637
-
638
- ### 1.99.1 (2026-07-05)
639
- * (gokturk413) fix: Security editor dock had no background (showed white/host-default)
640
- * (gokturk413) feat: add PlantPAx type-mapping resolver with full AOI catalog seed data
641
- * (gokturk413) feat: wire PlantPAx type resolver into IobrokerHandler (IOB) singleton
642
- * (gokturk413) feat: add PlantPAx Types dock editor custom element
643
- * (gokturk413) feat: register PlantPAx Types dock tab in AppShell + rebuild runtime bundle
644
-
645
- ### 1.99.0 (2026-07-04)
646
- * (gokturk413) feat: Area & Permissions dock (assign data-area/data-action per element)
647
-
648
- ### 1.98.0 (2026-07-04)
649
- * (gokturk413) feat: server-enforced permission writes (secWriteState), phase 2
650
-
651
- ### 1.97.0 (2026-07-04)
652
- * (gokturk413) feat: Security editor dock (Users / Areas / Actions matrix / Codes)
653
-
654
- ### 1.96.0 (2026-07-04)
655
- * (gokturk413) feat: PlantPAx-style permission system (codes/actions/areas), phase 1
656
-
657
- ### 1.95.1 (2026-07-04)
658
- * (gokturk413) fix: multi-view injected elements now honor visibility conditions
659
-
660
- ### 1.95.0 (2026-07-04)
661
- * (gokturk413) fix: Monaco drag crash guard + all npm packages editable in Translations dock
662
-
663
- ### 1.94.3 (2026-07-04)
664
- * (gokturk413) fix: multi-view selections were not persisted (raw element writes)
665
-
666
- ### 1.94.2 (2026-07-04)
667
- * (gokturk413) fix: alarm viewers: designer instance also lacks _getDomElements + null-safe template exprs
668
-
669
- ### 1.94.1 (2026-07-03)
670
- * (gokturk413) fix: designer script errors in control editor (missing control APIs)
671
-
672
- ### 1.94.0 (2026-07-03)
673
- * (gokturk413) feat: alarm-history-viewer control (declarative, native datetime range)
674
-
675
- ### 1.93.0 (2026-07-03)
676
- * (gokturk413) feat: alarm-viewer control (Tabulator-free, declarative) + scoped-t fix
677
-
678
- ### 1.92.0 (2026-07-03)
679
- * (gokturk413) fix: translation modal keeps scope + migrate control groups to control-own dicts
680
-
681
- ### 1.91.0 (2026-07-03)
682
- * (gokturk413) feat: scoped translation system (control-own / npm-widget / project)
683
-
684
- ### 1.90.0 (2026-07-03)
685
- * (gokturk413) feat: Glass (glassmorphism) runtime theme + --ui-backdrop token
686
-
687
- ### 1.89.0 (2026-07-03)
688
- * (gokturk413) feat: modern themed logout control (pairs with user-badge)
689
-
690
- ### 1.88.0 (2026-07-03)
691
- * (gokturk413) feat: user-badge control: modern themed user chip for the app bar
692
-
693
- ### 1.87.0 (2026-07-02)
694
- * (gokturk413) feat: nav 'Auto (runtime theme)' preset + level_bar theme tokens
695
-
696
- ### 1.86.0 (2026-07-02)
697
- * (gokturk413) feat: theme-toggle control: segmented icon pill (Auto | Light | Dark)
698
-
699
- ### 1.85.0 (2026-07-02)
700
- * (gokturk413) fix: theme tokens in inline-style/script controls (scada_point_panel, input_with_button, TextViewer)
701
-
702
- ### 1.84.0 (2026-07-02)
703
- * (gokturk413) feat: linear-gauge rebuilt fully declarative (colored scale + pointer, zero render-JS)
704
-
705
- ### 1.83.0 (2026-07-02)
706
- * (gokturk413) feat: semantic theme tokens (--ui-ok/warn/error/info) + map control chrome/status colors to theme tokens
707
-
708
- ### 1.82.0 (2026-07-02)
709
- * (gokturk413) feat: user-definable themes via Global Style (CSS data-attribute model)
710
-
711
- ### 1.81.0 (2026-07-02)
712
- * (gokturk413) fix: linear-gauge reactivity + enum dropdowns + vertical min-tick
713
-
714
- ### 1.80.0 (2026-07-02)
715
- * (gokturk413) feat: runtime theme system + theme-selector control
716
-
717
- ### 1.79.0 (2026-07-02)
718
- * (gokturk413) feat: new mywebui adapter logo (gradient tech mark + wordmark)
719
-
720
- ### 1.78.0 (2026-07-02)
721
- * (gokturk413) fix: setpoint-gauge dark-runtime theming fallbacks
722
-
723
- ### 1.77.0 (2026-07-02)
724
- * (gokturk413) feat: setpoint-gauge control (thermostat-style, declarative bindings)
725
-
726
- ### 1.76.0 (2026-07-02)
727
- * (gokturk413) fix: theme the gauge controls via --ui-* tokens
728
-
729
- ### 1.75.0 (2026-07-02)
730
- * (gokturk413) feat: free linear-gauge + gauge-table controls (MODES-style)
731
-
732
- ### 1.74.0 (2026-07-01)
733
- * (gokturk413) fix: theme the designer context menu (was white/unreadable in dark themes)
734
-
735
- ### 1.73.0 (2026-07-01)
736
- * (gokturk413) feat: dedicated App Bar / Sidebar content editor
737
-
738
- ### 1.72.0 (2026-07-01)
739
- * (gokturk413) fix: settings-tab collapse arrows — right-aligned + bigger
740
-
741
- ### 1.71.0 (2026-07-01)
742
- * (gokturk413) feat: settings-tab menus — Layout collapsible, bigger arrows, collapsed by default
743
-
744
- ### 1.70.0 (2026-07-01)
745
- * (gokturk413) fix: theme the Multi-View dock like the other side panels
746
-
747
- ### 1.69.0 (2026-07-01)
748
- * (gokturk413) fix: multi-view panel — no duplicate + robust home-screen detection
749
-
750
- ### 1.68.0 (2026-07-01)
751
- * (gokturk413) feat: multi-view Stage 3 — ghost preview on target screens in the designer
752
-
753
- ### 1.67.0 (2026-07-01)
754
- * (gokturk413) feat: multi-view — show one element on multiple screens (vis-style)
755
-
756
- ### 1.65.0 (2026-07-01)
757
- * (gokturk413) feat: per-screen transition + fix screen-access disable sync + collapsible settings menus
758
-
759
- ### 1.64.0 (2026-07-01)
760
- * (gokturk413) fix: guard adoptedStyleSheets when control uses global style but none exists
761
-
762
- ### 1.63.0 (2026-07-01)
763
- * (gokturk413) feat: whenScreenReady() + screen-ready event + configurable screen transition
764
-
765
- ### 1.62.0 (2026-06-30)
766
- * (gokturk413) feat: delete slot items in nav app-bar/sidebar from the designer
767
-
768
- ### 1.61.0 (2026-06-30)
769
- * (gokturk413) feat: navigation/app-bar theme system + smooth hide-until-ready screen transitions
770
-
771
- ### 1.60.0 (2026-06-30)
772
- * (gokturk413) feat: navigation named slots for arbitrary controls (#3)
773
-
774
- ### 1.59.0 (2026-06-30)
775
- * (gokturk413) feat: navigation designer preview chrome (#2)
776
-
777
- ### 1.58.0 (2026-06-30)
778
- * (gokturk413) feat: modern-sidebar look for nav controls (#4)
779
-
780
- ### 1.57.0 (2026-06-30)
781
- * (gokturk413) feat: navigation live re-render on save (#1)
782
-
783
- ### 1.56.1 (2026-06-30)
784
- * (gokturk413) feat: nav menu-item/app-bar icons resolve relative project image paths
785
-
786
- ### 1.56.0 (2026-06-30)
787
- * (gokturk413) feat: Navigation Phase 2 — editable nav/app-bar custom controls + runtime mounter
788
-
789
- ### 1.55.0 (2026-06-30)
790
- * (gokturk413) feat: Navigation + Application Bar settings (Phase 1 — config UI + data model)
791
-
792
- ### 1.54.1 (2026-06-30)
793
- * (gokturk413) fix: Global Script editor threw 'IobrokerWebuiMonacoEditor is not defined'
794
-
795
- ### 1.54.0 (2026-06-29)
796
- * (gokturk413) feat: enable Global Script node (startup init() module) in the tree
797
-
798
- ### 1.53.3 (2026-06-29)
799
- * (gokturk413) fix: prover control drops at a normal size and scales on resize
800
-
801
- ### 1.53.2 (2026-06-28)
802
- * (gokturk413) fix: flow-line tool draws straight orthogonal segments (no freehand wavy)
803
-
804
- ### 1.53.1 (2026-06-28)
805
- * (gokturk413) fix: tee — thin centered bands (white space) + pipesize property so it snaps to pipes
806
-
807
- ### 1.53.0 (2026-06-28)
808
- * (gokturk413) feat: SCADA flow-line tool — dedicated toolbar button for orthogonal multi-segment polylines
809
-
810
- ### 1.52.3 (2026-06-28)
811
- * (gokturk413) feat: use the real tee artwork (4 teeTypes) in the tee control, not combined H+V pipes
812
-
813
- ### 1.52.2 (2026-06-28)
814
- * (gokturk413) fix: tee pipe square-tile geometry (generated in its script) so it tiles too
815
-
816
- ### 1.52.1 (2026-06-28)
817
- * (gokturk413) fix: smooth pipe gradient (linear straights + radial curves) instead of layered strokes
818
-
819
- ### 1.52.0 (2026-06-28)
820
- * (gokturk413) feat: pipe magnet-snap in the designer (edge snap + green indicator)
821
-
822
- ### 1.51.0 (2026-06-28)
823
- * (gokturk413) feat: normalize pipe controls to a unified square-tile model (vis-style mouth-to-mouth tiling)
824
-
825
- ### 1.50.1 (2026-06-28)
826
- * (gokturk413) fix: add VisibilityService.applyVisibility — custom controls threw on connect
827
-
828
- ### 1.50.0 (2026-06-28)
829
- * (gokturk413) feat: embedded (elementless) screen-layout tabs — flex-like, no webui-tab-container in code
830
-
831
- ### 1.49.3 (2026-06-27)
832
- * (gokturk413) feat: drop controls into the active tab pane (TabContainerPlacementService)
833
-
834
- ### 1.49.2 (2026-06-26)
835
- * (gokturk413) feat: rich Tabs editor inside the Properties tab (Tabs Layout group), revert broken dock mount
836
-
837
- ### 1.49.1 (2026-06-26)
838
- * (gokturk413) feat: show Layout/Tabs UI in the Properties dock too (split/tabs screens + controls)
839
-
840
- ### 1.49.0 (2026-06-26)
841
- * (gokturk413) feat: tabs designer rework — embedded (non-deletable/movable) container, tab add/remove/active UI, tab-position
842
-
843
- ### 1.48.0 (2026-06-26)
844
- * (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
845
-
846
- ### 1.47.0 (2026-06-26)
847
- * (gokturk413) feat(layout): alignment guides - red helper lines when a dragged element's edges/center align with siblings (designer + control editor)
848
-
849
- ### 1.46.0 (2026-06-26)
850
- * (gokturk413) feat(layout): penpot-style canvas grid overlay - track lines + draggable resize handles (live, writes settings.layout)
851
- * (gokturk413) feat(layout): flex layout guides overlay (direction arrow + align/justify label)
852
-
853
- ### 1.45.0 (2026-06-26)
854
- * (gokturk413) feat: BroadcastChannel cross-tab command delivery (sync source with shipped bundle)
855
- * (gokturk413) feat(layout): Phase 3 runtime - generate split/tabs container from settings.layout (saved html = panes only)
856
- * (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
857
- * (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)
858
-
859
- ### 1.44.2 (2026-06-26)
860
- * (gokturk413) fix: guard disconnectedCallback dispose + resilient for:/repeat: cleanup
861
- * (gokturk413) feat(layout): add layoutToStyle/applyLayoutStyle mapper
862
- * (gokturk413) feat(layout): runtime applies settings.layout to ScreenViewer root host
863
- * (gokturk413) feat(layout): designer applies settings.layout to canvas root host
864
- * (gokturk413) feat(layout): picker returns metadata; new screen/control/global seed settings.layout
865
- * (gokturk413) feat(layout): Layout panel in Settings tab (live edit, type/flex/grid)
866
- * (gokturk413) feat(layout): Convert-to-layout for legacy flex-container roots (project + global)
867
- * (gokturk413) feat(layout): custom controls apply their settings.layout to host at runtime
868
- * (gokturk413) feat: add 'Remove HabPanel Style' action + dedupe Add; broadcast refresh on global style change
869
- * (gokturk413) feat(layout): Phase 2 - interactive grid track editor (per-track value+unit fr/px/%/auto, add/remove) in Layout panel
870
-
871
- ### 1.44.1 (2026-06-25)
872
- * (gokturk413) fix: for: loop never rendered elements due to shared oldValuesSymbol conflict
873
-
874
- ### 1.44.0 (2026-06-25)
875
- * (gokturk413) feat: advanced template directives, eval→new Function, repeat binding fix
876
-
877
- ### 1.43.1 (2026-06-25)
878
- * (gokturk413) perf: 3D gallery renders single control only, never folders/screens
879
- * (gokturk413) feat: for:/repeat: loop var as element prop, new directives, npm fixes
880
- * (gokturk413) fix: revert www/node_modules/ npm exclusion (needed for runtime - GSAP/Monaco/Three)
881
-
882
- ### 1.43.0 (2026-06-25)
883
- * (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)
884
- * (gokturk413) fix: backend honours `visibilityEnabled` / `accessibility.enabled` — a disabled restriction with a stale group list no longer keeps blocking
885
- * (gokturk413) fix: the Settings‑tab "Screen Accessibility Control" and the Projects "Screen Access" dialog are now mirrored (single source of truth)
886
- * (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
887
- * (gokturk413) docs: README — bindings (signals/state/object/properties), dynamic properties, current changelog
888
-
889
- ### 1.42.99 (2026-06-24)
890
- * (gokturk413) feat: group‑based access control (runtime + editor), hybrid readable‑source / obfuscated‑artifact build & packaging pipeline, branding
891
- * (gokturk413) feat: global (platform‑default) custom controls — shipped under **Global > CustomControls / 3D Custom Controls**, pre‑seeded on install, editable, usable in every project
892
-
893
- ### 1.42.90 (2026-06)
894
- * (gokturk413) feat: self‑contained multi‑project layout — each project under `mywebui.0.projects/<name>/{data,widgets}` with export/import
895
-
896
- ### 1.42.45 (2026-06)
897
- * (gokturk413) design: neon glassmorphic theme for the solution explorer
898
-
899
- ### 1.42.44 (2026-06)
900
- * (gokturk413) feat: multi‑project support — project selector with create/delete; runtime preview passes `?project=`, plain `runtime.html` always shows default (kiosk safe)
901
-
902
- ### 1.42.42 (2026-06)
903
- * (gokturk413) feat: `dynamic` property tab for every element (works with npm manifest widgets too) — per‑instance dynamic properties with two‑way binding
904
-
905
- ### 1.40.0 (2026-06)
906
- * (gokturk413) feat: 3D Editor (Three.js) — 3D screens & 3D custom controls, signal bindings, asset manager, layout planner
907
-
908
- <!-- older custom‑edition versions: see the full per‑version "news" list in io‑package.json -->
909
-
910
- ### 1.37.0 (2025-10-15)
911
- - fix bug in bundled code
912
- - use minified code for config
913
-
914
- ### 1.36.0 (2025-10-15)
915
- - fix some boxQuads edge cases
916
-
917
- ### 1.35.4 (2025-09-23)
918
- - clear cache on reload
919
-
920
- ### 1.35.3 (2025-09-23)
921
- - object changed to all clients
922
-
923
- ### 1.35.2 (2025-09-23)
924
- - forgett to parse bindings
925
-
926
- ### 1.35.1 (2025-09-23)
927
- - fix reload custom controls
928
-
929
- ### 1.35.0 (2025-09-23)
930
- - better nameing
931
- - changed object notification
932
-
933
- ### 1.34.2 (2025-09-21)
934
- - anaother small fix in signal handling
935
-
936
- ### 1.34.1 (2025-09-20)
937
- - script command wrong name fix
938
-
939
- ### 1.34.0 (2025-09-20)
940
- - designer and script updates
941
-
942
- ### 1.33.0 (2025-08-26)
943
- - fix NaN check
944
-
945
- ### 1.32.0 (2025-08-20)
946
- - Support css prop suggestions
947
-
948
- ### 1.31.6 (2025-08-19)
949
- - Test one more release
950
-
951
- ### 1.31.5 (2025-08-19)
952
- - Fix setting Props with simple scripts
953
-
954
- ### 1.31.4 (2025-08-19)
955
- - SimpleScripts should be able to set Properties
956
-
957
- ### 1.31.3 (2025-08-19)
958
- - NaN not NaN
959
-
960
- ### 1.31.2 (2025-08-18)
961
- - update npms
962
-
963
- ### 1.31.1 (2025-08-17)
964
- - remove nod 18 from github actions
965
-
966
- ### 1.31.0 (2025-08-17)
967
- - update packages
968
- - script support for properties
969
-
970
- ### 1.30.0 (2025-05-25)
971
- - starting indirect binding fix
972
-
973
- ### 1.29.0 (2025-05-25)
974
- - complexer indirect bindings
975
-
976
- ### 1.28.0 (2025-05-03)
977
- - update packages
978
-
979
- ### 1.27.1 (2025-03-30)
980
- - fix xml import
981
-
982
- ### 1.27.0 (2025-03-30)
983
- - edit string in visu property grid
984
- - bindings to properties did not work (in designer)
985
- - html setting did not work sometimes
986
-
987
- ### 1.26.0 (2025-03-04)
988
- - fix error in screenviewer
989
- - update npms
990
- - rename global styles
991
- - allow styling of dialog
992
-
993
- ### 1.25.2 (2025-02-05)
994
- - fix null error on props
995
-
996
- ### 1.25.1 (2025-01-24)
997
- - escape xml
998
- - switch to official selector package
999
-
1000
- ### 1.25.0 (2025-01-21)
1001
- - fix bindings in custom controls
1002
-
1003
- ### 1.24.4 (2025-01-20)
1004
- - switch again to old module shims (error in new one)
1005
-
1006
- ### 1.24.3 (2025-01-20)
1007
- - first load of css bindings
1008
- - fix get box quads with slots
1009
- - fix es module shims
1010
-
1011
- ### 1.24.2 (2025-01-19)
1012
- - revert back es module shims, leads to errors
1013
-
1014
- ### 1.24.1 (2025-01-19)
1015
- - hopefully fix package upload by changed name
1016
-
1017
- ### 1.24.0 (2025-01-19)
1018
- - cleanup www dir
1019
-
1020
- ### 1.23.2 (2025-01-19)
1021
- - one more fix in gulpfile
1022
-
1023
- ### 1.23.1 (2025-01-19)
1024
- - fix gulp should work again
1025
-
1026
- ### 1.23.0 (2025-01-19)
1027
- - fix paste in events assignment
1028
- - iobroker Signal Selector
1029
- - binding to width and height in custom controls
1030
-
1031
- ### 1.22.0 (2025-01-15)
1032
- - local signals browser
1033
- - style completition fixes
1034
- - special bindings for "ring" cameras
1035
-
1036
- ### 1.21.0 (2024-12-28)
1037
- - fix scripts with empty names on css
1038
- - css props with only bindings are not shown
1039
- - remove of css prop should remove binding?
1040
- - Open Screen in sub screen command
1041
-
1042
- ### 1.20.1 (2024-12-03)
1043
- - fix in designer with svgs
1044
-
1045
- ### 1.20.0 (2024-12-03)
1046
- - add a few packages
1047
- - run simple script cmd and update get parent screen
1048
- - update packages, downgrade monaco
1049
- - fix backup
1050
-
1051
- ### 1.19.4 (2024-11-03)
1052
- - copy & paste events
1053
-
1054
- ### 1.19.3 (2024-11-03)
1055
- - support null value
1056
-
1057
- ### 1.19.2 (2024-11-03)
1058
- - use name in classlist
1059
-
1060
- ### 1.19.1 (2024-11-02)
1061
- - copy path for screens/controls
1062
-
1063
- ### 1.19.0 (2024-11-02)
1064
- - fix error in script system
1065
-
1066
- ### 1.18.5 (2024-11-02)
1067
- - compile fix
1068
-
1069
- ### 1.18.4 (2024-11-02)
1070
- - fix wrong shadow root used
1071
-
1072
- ### 1.18.3 (2024-11-01)
1073
- - small typo fix
1074
-
1075
- ### 1.18.2 (2024-11-01)
1076
- - better refcatoring
1077
-
1078
- ### 1.18.1 (2024-11-01)
1079
- - fix screen settings
1080
-
1081
- ### 1.18.0 (2024-11-01)
1082
- - screens are now ex- & imported as xml
1083
-
1084
- ### 1.17.3 (2024-11-01)
1085
- - fix compilation
1086
-
1087
- ### 1.17.2 (2024-11-01)
1088
- - switch combo in complex prop editor
1089
-
1090
- ### 1.17.1 (2024-11-01)
1091
- - selector for properties
1092
-
1093
- ### 1.17.0 (2024-11-01)
1094
- - internal control properties
1095
- - internal screen properties
1096
-
1097
- ### 1.16.3 (2024-10-31)
1098
- - raise errors on unimplemented commands
1099
- - wrong script upgrade
1100
-
1101
- ### 1.16.2 (2024-10-31)
1102
- - wrong default in script
1103
-
1104
- ### 1.16.1 (2024-10-31)
1105
- - fix base custom webcomp bindings
1106
-
1107
- ### 1.16.0 (2024-10-30)
1108
- - fix errors with script system, wrong parent used
1109
-
1110
- ### 1.15.1 (2024-10-08)
1111
- - fix typo in screenviewer
1112
-
1113
- ### 1.15.0 (2024-10-08)
1114
- - fixes in margin & padding
1115
- - work on simpleScripts, add conditions
1116
- - fix _getDomElements in screen viewer
1117
-
1118
- ### 1.14.0 (2024-09-18)
1119
- - update npm packages
1120
-
1121
- ### 1.13.2 (2024-08-21)
1122
- - designer updates
1123
- - add find methods
1124
-
1125
- ### 1.13.1 (2024-08-18)
1126
- - small designer tweaks
1127
-
1128
- ### 1.13.0 (2024-08-18)
1129
- - update designer
1130
-
1131
- ### 1.12.4 (2024-07-25)
1132
- - one more designer update
1133
-
1134
- ### 1.12.3 (2024-07-25)
1135
- - update designer
1136
-
1137
- ### 1.12.2 (2024-07-24)
1138
- - fix offset finding in box drawing
1139
-
1140
- ### 1.12.1 (2024-07-24)
1141
- - update edit text in designer
1142
-
1143
- ### 1.12.0 (2024-07-24)
1144
- - update designer
1145
-
1146
- ### 1.11.3 (2024-06-02)
1147
- - fix load subfolders
1148
-
1149
- ### 1.11.2 (2024-06-01)
1150
- - screens grid view
1151
-
1152
- ### 1.11.1 (2024-05-31)
1153
- - fix icons view path
1154
-
1155
- ### 1.11.0 (2024-05-31)
1156
- - add a icons view
1157
-
1158
- ### 1.10.9 (2024-05-30)
1159
- - show undo count
1160
-
1161
- ### 1.10.8 (2024-05-30)
1162
- - better tooltip for multiplex
1163
- - remove unused solution entries
1164
-
1165
- ### 1.10.7 (2024-05-29)
1166
- - fix iframe d&d
1167
-
1168
- ### 1.10.6 (2024-05-29)
1169
- - better evt editor for new events
1170
-
1171
- ### 1.10.5 (2024-05-29)
1172
- - show events on mywebui controls
1173
-
1174
- ### 1.10.4 (2024-05-29)
1175
- - work on events
1176
-
1177
- ### 1.10.3 (2024-05-29)
1178
- - add events service for manifest
1179
-
1180
- ### 1.10.2 (2024-05-28)
1181
- - fix getDomelement
1182
-
1183
- ### 1.10.1 (2024-05-28)
1184
- - support classlist in setElementProperty
1185
-
1186
- ### 1.10.0 (2024-05-28)
1187
- - fix screen & parent screen access
1188
-
1189
- ### 1.9.10 (2024-05-28)
1190
- - fixes for blockly
1191
-
1192
- ### 1.9.9 (2024-05-28)
1193
- - fix firefox
1194
-
1195
- ### 1.9.8 (2024-05-27)
1196
- - try faster loading
1197
-
1198
- ### 1.9.7 (2024-05-27)
1199
- - fix change root style
1200
-
1201
- ### 1.9.6 (2024-05-27)
1202
- - fix null ref
1203
-
1204
- ### 1.9.5 (2024-05-27)
1205
- - few small changes
1206
-
1207
- ### 1.9.4 (2024-05-27)
1208
- - fix scripts not workin
1209
-
1210
- ### 1.9.3 (2024-05-27)
1211
- - update packages
1212
-
1213
- ### 1.9.2 (2024-05-27)
1214
- - fix screenviewer styles
1215
-
1216
- ### 1.9.1 (2024-05-27)
1217
- - fix first div styled from designer when zoom
1218
-
1219
- ### 1.9.0 (2024-05-27)
1220
- - fix zooming of child screens
1221
-
1222
- ### 1.8.9 (2024-05-26)
1223
- - one more spec. calculation fix
1224
-
1225
- ### 1.8.8 (2024-05-26)
1226
- - need to await stylesheet parse
1227
-
1228
- ### 1.8.7 (2024-05-26)
1229
- - fix specificity calculation
1230
-
1231
- ### 1.8.6 (2024-05-21)
1232
- - fix in designer property grid
1233
-
1234
- ### 1.8.5 (2024-05-21)
1235
- - stretch property for screenviewer
1236
- - screennames in property list (property services now async)
1237
-
1238
- ### 1.8.4 (2024-05-20)
1239
- - fix typo in bindingshelper
1240
-
1241
- ### 1.8.3 (2024-05-20)
1242
- - fix style parsing and style bindings at runtime
1243
-
1244
- ### 1.8.2 (2024-05-19)
1245
- - fix in manifest parser of designer
1246
-
1247
- ### 1.8.1 (2024-05-19)
1248
- - fix manifest parsing
1249
-
1250
- ### 1.8.0 (2024-05-19)
1251
- - bindings inside of css
1252
-
1253
- ### 1.7.8 (2024-05-19)
1254
- - fix remove of ctx menu
1255
-
1256
- ### 1.7.7 (2024-05-17)
1257
- - fix stylesheet matching
1258
-
1259
- ### 1.7.6 (2024-05-17)
1260
- - fix edit text in transformed surface
1261
-
1262
- ### 1.7.5 (2024-05-17)
1263
- - more fixes with transformed elements
1264
-
1265
- ### 1.7.4 (2024-05-16)
1266
- - designer transformation fixes
1267
-
1268
- ### 1.7.3 (2024-05-15)
1269
- - fix transform combinations in designer
1270
- - fix treeview jump to
1271
-
1272
- ### 1.7.2 (2024-05-15)
1273
- - few more small designer fixes
1274
-
1275
- ### 1.7.1 (2024-05-15)
1276
- - fix in designer
1277
-
1278
- ### 1.7.0 (2024-05-15)
1279
- - Add screen contextmenu
1280
- - support editing of repeat in grid colum/row templates
1281
- - designer updates
1282
- - force styles
1283
-
1284
- ### 1.6.5 (2024-05-07)
1285
- - designer update
1286
-
1287
- ### 1.6.4 (2024-05-05)
1288
- - expand/collapse of child nodes in tree
1289
- - undock all windows
1290
-
1291
- ### 1.6.3 (2024-05-05)
1292
- - jump to all css declarations
1293
-
1294
- ### 1.6.2 (2024-05-04)
1295
- - jump to styles
1296
-
1297
- ### 1.6.1 (2024-05-02)
1298
- - better icons
1299
-
1300
- ### 1.6.0 (2024-05-02)
1301
- - remove metro ui
1302
-
1303
- ### 1.5.4 (2024-05-02)
1304
- - fix delay command
1305
-
1306
- ### 1.5.3 (2024-05-02)
1307
- - fixes after package updates
1308
-
1309
- ### 1.5.2 (2024-05-02)
1310
- - removed missing prop
1311
-
1312
- ### 1.5.1 (2024-05-02)
1313
- - add delay in blockly & npm updates
1314
-
1315
- ### 1.5.0 (2024-04-28)
1316
- - nicer two way bindings
1317
-
1318
- ### 1.4.9 (2024-04-24)
1319
- - fix toastify
1320
-
1321
- ### 1.4.8 (2024-04-20)
1322
- - fix for controller v6
1323
-
1324
- ### 1.4.7 (2024-04-20)
1325
- - compact mode on controler 6 support
1326
-
1327
- ### 1.4.6 (2024-04-10)
1328
- - fix encoding for all files
1329
-
1330
- ### 1.4.5 (2024-04-10)
1331
- - fix gulp5 copy breaks fonts
1332
-
1333
- ### 1.4.4 (2024-04-10)
1334
- - fix compile error
1335
-
1336
- ### 1.4.3 (2024-04-10)
1337
- - fix copy of font
1338
-
1339
- ### 1.4.2 (2024-04-09)
1340
- - stretch support in screens
1341
-
1342
- ### 1.4.1 (2024-04-09)
1343
- - support relative signal paths in scripts
1344
-
1345
- ### 1.4.0 (2024-04-08)
1346
- - parameter support for scripts
1347
-
1348
- ### 1.3.2 (2024-04-02)
1349
- - designer upd
1350
-
1351
- ### 1.3.1 (2024-04-01)
1352
- - designer updates for toolbars
1353
-
1354
- ### 1.3.0 (2024-04-01)
1355
- - designer update
1356
-
1357
- ### 1.2.13 (2024-03-28)
1358
- - disabled control fix
1359
-
1360
- ### 1.2.12 (2024-03-28)
1361
- - add dayjs for date formating
1362
-
1363
- ### 1.2.11 (2024-03-28)
1364
- - add a indirection level in complex signal binding
1365
-
1366
- ### 1.2.10 (2024-03-28)
1367
- - package upgrades
1368
-
1369
- ### 1.2.9 (2024-03-26)
1370
- - try fix runtime once more
1371
-
1372
- ### 1.2.8 (2024-03-26)
1373
- - runtime should not load designer
1374
-
1375
- ### 1.2.7 (2024-03-26)
1376
- - fix used wrong script system
1377
-
1378
- ### 1.2.6 (2024-03-25)
1379
- - one more small runtime fix
1380
-
1381
- ### 1.2.5 (2024-03-25)
1382
- - fix runtime once more
1383
-
1384
- ### 1.2.4 (2024-03-25)
1385
- - fix runtime
1386
-
1387
- ### 1.2.3 (2024-03-24)
1388
- - designer upgrade for new features
1389
-
1390
- ### 1.2.2 (2024-03-11)
1391
- - fix broken signals selector in scripts
1392
-
1393
- ### 1.2.1 (2024-03-11)
1394
- - build broken after refactoring
1395
-
1396
- ### 1.2.0 (2024-03-11)
1397
- - extracted some code for usability
1398
- - better text edit
1399
- - better split view (selection matches now)
1400
- - round pixel values
1401
-
1402
- ### 1.1.4 (2024-03-02)
1403
- - designer-update: mathML support, svg foreignObject support
1404
- - better text edit support
1405
-
1406
- ### 1.1.3 (2024-02-29)
1407
- - text edit now workin
1408
- - package updates
1409
-
1410
- ### 1.1.2 (2024-02-27)
1411
- - fix broken designer package
1412
-
1413
- ### 1.1.1 (2024-02-27)
1414
- - designer and docking fixes
1415
-
1416
- ### 1.1.0 (2024-02-26)
1417
- - support undock to new browser window
1418
- - preview fixes for position: static in styles
1419
-
1420
- ### 1.0.56 (2024-02-26)
1421
- - screenviewer - add also nodes from domparser head
1422
-
1423
- ### 1.0.55 (2024-02-22)
1424
- - more designer fixes
1425
-
1426
- ### 1.0.54 (2024-02-22)
1427
- - multiple designer fixes
1428
-
1429
- ### 1.0.53 (2024-02-19)
1430
- - fix lazy bound lit event name
1431
-
1432
- ### 1.0.52 (2024-02-19)
1433
- - fix captured local
1434
-
1435
- ### 1.0.51 (2024-02-19)
1436
- - fix lazy loaded lit elments
1437
- - fix script url
1438
-
1439
- ### 1.0.50 (2024-02-18)
1440
- - again fix in class binding
1441
-
1442
- ### 1.0.49 (2024-02-18)
1443
- - class is attribute in bindings
1444
- - fix error logging
1445
-
1446
- ### 1.0.48 (2024-02-17)
1447
- - fix wunderbaum error
1448
-
1449
- ### 1.0.47 (2024-02-15)
1450
- - designer fixes with property grid
1451
-
1452
- ### 1.0.46 (2024-02-15)
1453
- - designer updates
1454
-
1455
- ### 1.0.45 (2024-02-12)
1456
- - update designer with bugfixes
1457
-
1458
- ### 1.0.44 (2024-02-11)
1459
- - fix bindings in designer
1460
-
1461
- ### 1.0.43 (2024-02-11)
1462
- - refresh tree when controls deleted
1463
-
1464
- ### 1.0.42 (2024-02-11)
1465
- - fix grid resize
1466
- - fix grid extension display
1467
-
1468
- ### 1.0.41 (2024-02-10)
1469
- - better element drawing (with undo)
1470
- - better title extension
1471
-
1472
- ### 1.0.40 (2024-02-10)
1473
- - dblclick in solution should not change tool
1474
- - designer update for performance fixes
1475
-
1476
- ### 1.0.39 (2024-02-09)
1477
- - upgrade designer package once more to fix some issues
1478
-
1479
- ### 1.0.38 (2024-02-09)
1480
- - fix blockly
1481
- - add blockly templated string
1482
- - work on adopted styles
1483
- - update designer to fix snaplines
1484
-
1485
- ### 1.0.37 (2024-01-31)
1486
- - designer fix for background
1487
-
1488
- ### 1.0.36 (2024-01-31)
1489
- - upgade to new designer for better style encapsulation
1490
-
1491
- ### 1.0.35 (2024-01-30)
1492
- - package upgrades (fix in designer for css patching)
1493
- - typos
1494
-
1495
- ### 1.0.34 (2024-01-28)
1496
- - indirect signal for $ access
1497
-
1498
- ### 1.0.33 (2024-01-24)
1499
- - one more designer update
1500
-
1501
- ### 1.0.32 (2024-01-24)
1502
- - fix for nested stylesheets
1503
-
1504
- ### 1.0.31 (2024-01-23)
1505
- - string could be null
1506
-
1507
- ### 1.0.30 (2024-01-22)
1508
- - better script errors
1509
-
1510
- ### 1.0.29 (2024-01-22)
1511
- - remove a few errors
1512
-
1513
- ### 1.0.28 (2024-01-22)
1514
- - npm upgrade for error of undoservice
1515
-
1516
- ### 1.0.27 (2024-01-22)
1517
- - toast message on errors
1518
-
1519
- ### 1.0.26 (2024-01-22)
1520
- - npm package upgrades
1521
-
1522
- ### 1.0.25 (2024-01-21)
1523
- - use appendChild
1524
-
1525
- ### 1.0.24 (2024-01-21)
1526
- - fix later loaded scripts
1527
-
1528
- ### 1.0.23 (2024-01-21)
1529
- - twoway should only set first value
1530
- - fix error with noParse
1531
-
1532
- ### 1.0.22 (2024-01-20)
1533
- - fix binding with unit
1534
- - fix refactor service missing command
1535
-
1536
- ### 1.0.21 (2024-01-19)
1537
- - fix designer grid overlay
1538
- - stecil ackage hacks
1539
-
1540
- ### 1.0.20 (2024-01-18)
1541
- - fix broken split view
1542
-
1543
- ### 1.0.19 (2024-01-17)
1544
- - simpler one way bindings with expressions
1545
-
1546
- ### 1.0.18 (2024-01-17)
1547
- - text selection selects in designer
1548
-
1549
- ### 1.0.17 (2024-01-16)
1550
- - fix opacity of D&D node
1551
-
1552
- ### 1.0.16 (2024-01-16)
1553
- - fix drag drop of tree nodes
1554
-
1555
- ### 1.0.15 (2024-01-14)
1556
- - support upper/lowercase and spaces in screens & controls
1557
-
1558
- ### 1.0.13 (2024-01-14)
1559
- - correct event name in lit bindings
1560
-
1561
- ### 1.0.12 (2024-01-14)
1562
- - upgrade baseCustomWebcomp for attribute binding
1563
-
1564
- ### 1.0.11 (2024-01-14)
1565
- - API for reading object lists
1566
-
1567
- ### 1.0.10 (2024-01-14)
1568
- - fix selected tool
1569
-
1570
- ### 1.0.9 (2024-01-14)
1571
- - bugfix controls editor
1572
-
1573
- ### 1.0.8 (2024-01-14)
1574
- - fix import/export
1575
-
1576
- ### 1.0.7 (2024-01-14)
1577
- - bigger formula editor when multiline
1578
-
1579
- ### 1.0.6 (2024-01-14)
1580
- - draw widgets when selected in tree
1581
-
1582
- ### 1.0.5 (2024-01-14)
1583
- - bind to iobroker objects (via $ prefix)
1584
-
1585
- ### 1.0.4 (2024-01-14)
1586
- - fix open screens in folders
1587
-
1588
- ### 1.0.3 (2024-01-14)
1589
- - only lowercase folders
1590
-
1591
- ### 1.0.2 (2024-01-14)
1592
- - variablen in convertern
1593
- - configurable meta tags
1594
-
1595
- ### 1.0.1 (2024-01-13)
1596
- - fix issue with npm
1597
-
1598
- ### 1.0.0 (2024-01-13)
1599
- - new script command: CalculateSignalValue
1600
- - javascript code completition
1601
- - better types in code completition
1602
- - fix writing of child nodes if content is bound at design time
1603
- - use monaco editor in expressions
1604
- - use custom var names in expressions
1605
- - Screens & Controls can have subfolders
1606
- - decl. shadow dom support in screen viewer
1607
- - allow 'local_' as tag prefix for local vars
1608
-
1609
- ### 0.23.3 (2024-01-04)
1610
- - add local valueAsNumber property
1611
-
1612
- ### 0.23.2 (2024-01-03)
1613
- - again fix runtime was not initialized
1614
-
1615
- ### 0.23.1 (2024-01-03)
1616
- - fix runtime was not initialized
1617
-
1618
- ### 0.23.0 (2024-01-03)
1619
- - todo, support 2way bindings too custom properties
1620
- - code completition for iobrokerHandler and runtime
1621
- - simple scripts, access value of event
1622
-
1623
- ### 0.22.7 (2023-12-25)
1624
- - and one more...
1625
-
1626
- ### 0.22.6 (2023-12-25)
1627
- - and one more fix on importmaps
1628
-
1629
- ### 0.22.5 (2023-12-25)
1630
- - more fixes with import map
1631
-
1632
- ### 0.22.4 (2023-12-25)
1633
- - work on export directive
1634
-
1635
- ### 0.22.3 (2023-12-25)
1636
- - fix missing .js extensions
1637
-
1638
- ### 0.22.2 (2023-12-25)
1639
- - fix scripts
1640
-
1641
- ### 0.22.1 (2023-12-25)
1642
- - add open screen in blockly
1643
-
1644
- ### 0.22.0 (2023-12-25)
1645
- - work on esbuild (but not yet ready, delayed till blockly is ESM)
1646
- - bugfixes with scripts
1647
- - remove typescript, use javascript directly
1648
- - typed value on SetValue function
1649
-
1650
- ### 0.21.3 (2023-12-20)
1651
- - fix set style
1652
-
1653
- ### 0.21.2 (2023-12-20)
1654
- - more commands in blockly
1655
-
1656
- ### 0.21.1 (2023-12-19)
1657
- - fixed paths
1658
-
1659
- ### 0.21.0 (2023-12-19)
1660
- - start of blockly support
1661
-
1662
- ### 0.20.7 (2023-12-15)
1663
- - fix importmap creation missed "/"
1664
-
1665
- ### 0.20.6 (2023-12-12)
1666
- - few wunderbaum fixes
1667
-
1668
- ### 0.20.5 (2023-12-11)
1669
- - better custom properties view
1670
-
1671
- ### 0.20.4 (2023-12-11)
1672
- - fix in css prop binding
1673
-
1674
- ### 0.20.3 (2023-12-11)
1675
- - update designer npm
1676
-
1677
- ### 0.20.2 (2023-12-11)
1678
- - fix for class binding
1679
-
1680
- ### 0.20.1 (2023-12-11)
1681
- - binding for classes
1682
-
1683
- ### 0.20.0 (2023-12-11)
1684
- - allow bindings to css vars
1685
-
1686
- ### 0.19.3 (2023-12-10)
1687
- - switch loglevel
1688
-
1689
- ### 0.19.2 (2023-12-10)
1690
- - package updates
1691
-
1692
- ### 0.19.1 (2023-12-07)
1693
- - fix load error
1694
-
1695
- ### 0.19.0 (2023-12-07)
1696
- - waitForReady needs to be awaited
1697
-
1698
- ### 0.18.15 (2023-12-06)
1699
- - fix missing null check
1700
-
1701
- ### 0.18.14 (2023-12-06)
1702
- - fix normal binding unsubscribe
1703
-
1704
- ### 0.18.13 (2023-12-06)
1705
- - fix historic binding unsubscribe
1706
-
1707
- ### 0.18.12 (2023-12-06)
1708
- - remove bindings in customcontrols
1709
-
1710
- ### 0.18.11 (2023-12-06)
1711
- - fix broken load historic
1712
-
1713
- ### 0.18.10 (2023-12-06)
1714
- - load historic only when previous load is finished
1715
-
1716
- ### 0.18.9 (2023-12-05)
1717
- - fix tooltips
1718
-
1719
- ### 0.18.8 (2023-12-05)
1720
- - lazy remove the title
1721
-
1722
- ### 0.18.7 (2023-12-05)
1723
- - better fix for monaco
1724
-
1725
- ### 0.18.6 (2023-12-05)
1726
- - fix for monaco bug
1727
- - title removed
1728
-
1729
- ### 0.18.5 (2023-12-05)
1730
- - code completition for base custom webcomponent
1731
- - object property type
1732
-
1733
- ### 0.18.4 (2023-12-03)
1734
- - better text for historic bindings cancel
1735
-
1736
- ### 0.18.3 (2023-12-03)
1737
- - fix reload in dynamics editor
1738
-
1739
- ### 0.18.2 (2023-12-03)
1740
- - ui for historic binding
1741
- - fixes in refactor view
1742
-
1743
- ### 0.18.1 (2023-12-03)
1744
- - fixes in refactor service
1745
-
1746
- ### 0.18.0 (2023-12-01)
1747
- - tooltip in solution explorer
1748
- - npm upgrade of designer
1749
- - refactor view for bindings and scripts
1750
-
1751
- ### 0.17.0 (2023-11-29)
1752
- - remove 2 uneeded files
1753
- - designer update
1754
-
1755
- ### 0.16.6 (2023-11-28)
1756
- - check for invalid propertynames
1757
- - move properties
1758
-
1759
- ### 0.16.5 (2023-11-27)
1760
- - copy screen and custom controls
1761
-
1762
- ### 0.16.4 (2023-11-27)
1763
- - fix usage of mywebui in windows
1764
-
1765
- ### 0.16.3 (2023-11-24)
1766
- - extra style for font declarations, they are not allowed in shadow dom
1767
-
1768
- ### 0.16.2 (2023-11-23)
1769
- - fix remove script command
1770
-
1771
- ### 0.16.1 (2023-11-23)
1772
- - additional file dnd
1773
-
1774
- ### 0.16.0 (2023-11-23)
1775
- - add additional files node and upload
1776
-
1777
- ### 0.15.1 (2023-11-22)
1778
- - export as xml (screens & controls)
1779
- - binding historic with reload
1780
- - fix dialog
1781
-
1782
- ### 0.15.0 (2023-11-19)
1783
- - uncloseable dialog
1784
- - css properties for dialog
1785
- - binding to historic data
1786
-
1787
- ### 0.14.1 (2023-11-12)
1788
- - dialog centered
1789
-
1790
- ### 0.14.0 (2023-11-12)
1791
- - add simple dialog
1792
-
1793
- ### 0.13.1 (2023-11-11)
1794
- - two way bindings with expressions
1795
-
1796
- ### 0.13.0 (2023-11-09)
1797
- - fix upercase screen names in runtime
1798
- - raster in designer is now adjustable
1799
- - copy object nodes now copies complete string
1800
- - context menu to directly edit custom element
1801
- - fix handler path in script
1802
- - uiChangedView now workin
1803
- - error when importing invalid file (for example html instead of json)
1804
-
1805
- ### 0.12.3 (2023-09-20)
1806
- - after eval removal, functions need a return
1807
-
1808
- ### 0.12.2 (2023-09-20)
1809
- - events names for 2way bindings need a editor
1810
-
1811
- ### 0.12.1 (2023-09-20)
1812
- - two way for indirect bindings
1813
-
1814
- ### 0.12.0 (2023-09-20)
1815
- - support indirect bindings via {...} in signals (like in vis)
1816
-
1817
- ### 0.11.2 (2023-09-17)
1818
- - check npm package name
1819
-
1820
- ### 0.11.1 (2023-09-16)
1821
- - fix build on windows
1822
-
1823
- ### 0.11.0 (2023-09-11)
1824
- - dragdrop fixes
1825
- - screen/control size fixes
1826
- - connected/disconnected callbacks
1827
-
1828
- ### 0.10.0 (2023-09-10)
1829
- - new script commands
1830
- - bugfix with bindings and empty events
1831
- - select exported function in javascript
1832
- - bugfix in save of screens
1833
- - typescript in scripts
1834
- - started work on translateable runtime
1835
-
1836
- ### 0.9.0 (2023-09-06)
1837
- - signal selector in properties
1838
- - screen selector in properties
1839
- - new screen had style in scripts
1840
- - indirect value/property acces from scripts via editor
1841
- - list multiple undo entries (on hold of undo)
1842
-
1843
- ### 0.8.0 (2023-09-03)
1844
- - update designer to add and fix some commands
1845
- - move screen/control scripts out of html code
1846
- - add a javascript editor view
1847
- - bugfix when states where null after a fresh install
1848
- - designer addons do now work again
1849
- - docking framework updated, cause of bugs with undocking
1850
-
1851
- ### 0.7.0 (2023-09-01)
1852
- - screens and controls have now settings (width, height, useGlobalStyle)
1853
-
1854
- ### 0.6.0 (2023-09-01)
1855
- - removed many uneeded files from installation
1856
-
1857
- ### 0.5.1 (2023-09-01)
1858
- - show version in ui
1859
-
1860
- ### 0.5.0 (2023-09-01)
1861
- - signal as property type
1862
- - removed svg-image control
1863
- - shorter custom control tag name
1864
- - better dynamics editor
1865
- - dock ui fixes
1866
- - control ui from backend (switch view, reload)
1867
-
1868
- ### 0.4.0 (2023-08-30)
1869
- - remove uneeded files from upload
1870
- - remove icons into extra iobroker packages
1871
- - support icon adapters
1872
- - rename screens & controls
1873
-
1874
- ### 0.3.0 (2023-08-29)
1875
- - default value for custom properties
1876
- - open screens only once
1877
- - property bindings default one way
1878
-
1879
- ### 0.2.3 (2023-08-28)
1880
- - rework how custom controls are initalized
1881
-
1882
- ### 0.2.2 (2023-08-28)
1883
- - better support & fixes of custom elements
1884
- - enum properties in custom controls
1885
- - sample custom controls
1886
-
1887
- ### 0.2.1 (2023-08-28)
1888
- - null ref fix in bindings
1889
-
1890
- ### 0.2.0 (2023-08-28)
1891
- - Import/Export of Screens/Images/Controls
1892
- - Define your own Controls directly in mywebui
1893
- - Drag/Drop of Icons/Images to Properties
1894
- - Drag/Drop of objects to Bindings-Editor Signalname
1895
- - Basic functionality of CustomControls
1896
-
1897
- ### 0.1.0 (2023-08-27)
1898
- - initial public release
1899
-
1900
- ## Credits
1901
-
1902
- **Original Author:** jogibear9988 (Jochen Kühner)
1903
- **Custom Edition:** gokturk413
1904
-
1905
- This is a custom edited and enhanced version of the original ioBroker.mywebui adapter with additional features and hardware-bound licensing.
1906
-
1907
- ### Original Repository
1908
- https://github.com/iobroker-community-adapters/ioBroker.mywebui
1909
-
1910
- ---
1911
-
1912
- ## License
1913
-
1914
- Creative Commons Attribution-NonCommercial 4.0 International (CC-BY-NC-4.0)
1915
-
1916
- **Original Work:**
1917
- Copyright (c) 2025 jogibear9988 <jochen.kuehner@gmx.de>
1918
-
1919
- **Modified Work:**
1920
- Copyright (c) 2026 gokturk413
1921
-
1922
- See the [LICENSE](./LICENSE) file for the full legal text.
1923
-
1924
- **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.