iobroker.mqtt-plus 1.6.5 → 1.6.7
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.
- package/LICENSE +1 -1
- package/README.md +48 -1
- package/admin/jsonConfig.json +6 -0
- package/admin/mqtt-plus.png +0 -0
- package/build/main.js +584 -249
- package/build/main.js.map +1 -1
- package/io-package.json +28 -2
- package/package.json +14 -4
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -52,6 +52,30 @@ specification are documented at [mqtt.org](https://mqtt.org/getting-started/).
|
|
|
52
52
|
[ioBroker.mqtt](https://github.com/ioBroker/ioBroker.mqtt)) whose namespace is used as target
|
|
53
53
|
prefix.
|
|
54
54
|
|
|
55
|
+
### Objects in the namespace of the MQTT adapter
|
|
56
|
+
|
|
57
|
+
`mqtt-plus` deliberately creates and writes objects **outside its own namespace**, in the namespace
|
|
58
|
+
of the MQTT client adapter that is configured as target prefix (default `mqtt.0.`). This is how the
|
|
59
|
+
bridge works, not a side effect:
|
|
60
|
+
|
|
61
|
+
* The MQTT adapter publishes a value when one of **its own** states is written with `ack: false`,
|
|
62
|
+
and it delivers incoming messages as states in its own namespace. A topic that was never received
|
|
63
|
+
has no state yet that could be written - so `mqtt-plus` creates the state (and the parent
|
|
64
|
+
folders) for every configured mapping in advance.
|
|
65
|
+
* Only the objects of the configured mappings are created, and only below the configured prefix.
|
|
66
|
+
Existing objects are not overwritten and nothing is ever deleted there. The states created by
|
|
67
|
+
`mqtt-plus` are marked with the name `Export of <source ID>`.
|
|
68
|
+
* Every created state has `read: true` and `write: true`, because a topic is both published
|
|
69
|
+
(written) and received (read). The role of the source object is only taken over if it allows
|
|
70
|
+
reading and writing (e.g. `switch`, `level.*`, `text`); read-only roles such as `value.*`,
|
|
71
|
+
`indicator.*`, `sensor.*` and write-only roles such as `button` are replaced by the generic role
|
|
72
|
+
`state`.
|
|
73
|
+
* In topic mode `dual` the command topic `<topic>/set` is a sub-topic of the state topic `<topic>`
|
|
74
|
+
(common MQTT convention, e.g. zigbee2mqtt). The MQTT adapter maps topics 1:1 to object IDs, so
|
|
75
|
+
the command state `<prefix>.<topic>.set` lies below the state `<prefix>.<topic>`. The object tree
|
|
76
|
+
follows the topic tree on the broker; a different object hierarchy would require different topic
|
|
77
|
+
names on the broker and would break existing MQTT clients.
|
|
78
|
+
|
|
55
79
|
### Configuration
|
|
56
80
|
|
|
57
81
|
The complete configuration guide (topic mode, echo protection, sync mode, remote sync
|
|
@@ -65,6 +89,29 @@ The adapter is currently in the review process for the official ioBroker reposit
|
|
|
65
89
|
Placeholder for the next version (at the beginning of the line):
|
|
66
90
|
### **WORK IN PROGRESS**
|
|
67
91
|
-->
|
|
92
|
+
### 1.6.7 (2026-10-12)
|
|
93
|
+
* (proxy) Target states created by versions up to 1.6.4 (name `Export von …`) are now also recognised: their role is
|
|
94
|
+
corrected and the name is changed to `Export of …`
|
|
95
|
+
* (proxy) The obsolete object `triggerExport` from versions up to 1.2.x is removed on start
|
|
96
|
+
* (proxy) Targets of type `string` (e.g. created by the MQTT adapter on first receipt of a topic) receive numbers and
|
|
97
|
+
booleans as text - no more type warning from js-controller
|
|
98
|
+
|
|
99
|
+
### 1.6.6 (2026-10-12)
|
|
100
|
+
* (proxy) Adapter icon is now a real PNG file (was a JPEG with `.png` extension)
|
|
101
|
+
* (proxy) Created MQTT target states use the role `state` instead of the invalid role `variable`; the role of
|
|
102
|
+
the source is only taken over if it allows reading and writing (no `value.*`, `indicator.*`, `sensor.*`,
|
|
103
|
+
`button`). Target states created by earlier versions are corrected on start
|
|
104
|
+
* (proxy) Writes to `config.syncTemplate` (admin, scripts) are now processed: the template is validated and
|
|
105
|
+
acknowledged, an invalid template is rejected and the previous one is restored
|
|
106
|
+
* (proxy) Interval settings are limited to the range supported by the timers, values outside are corrected and logged
|
|
107
|
+
* (proxy) The path heuristic for switch states only checks the English keyword `Switch`
|
|
108
|
+
* (proxy) Times in `watchdog` and `info.lastSyncStatus` no longer depend on the server locale
|
|
109
|
+
* (proxy) README: explanation why objects are created in the namespace of the MQTT adapter
|
|
110
|
+
* (proxy) Code base checked with the shared ioBroker ESLint/Prettier configuration; TypeScript configuration
|
|
111
|
+
based on `@tsconfig/node22`
|
|
112
|
+
* (proxy) Development tooling: release script, `@iobroker/adapter-dev` for translations, Dependabot, VS Code schemas;
|
|
113
|
+
older changelog entries moved to `CHANGELOG_OLD.md`
|
|
114
|
+
|
|
68
115
|
### 1.6.5 (2026-09-28)
|
|
69
116
|
* (proxy) Admin settings translated into all supported languages (i18n files, compatible with Weblate)
|
|
70
117
|
* (proxy) Log messages, dashboard and object names in English
|
|
@@ -97,7 +144,7 @@ The adapter is currently in the review process for the official ioBroker reposit
|
|
|
97
144
|
## License
|
|
98
145
|
MIT License
|
|
99
146
|
|
|
100
|
-
Copyright (c) 2026 proxy <
|
|
147
|
+
Copyright (c) 2026 proxy <proxy@ich.ms>
|
|
101
148
|
|
|
102
149
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
103
150
|
of this software and associated documentation files (the "Software"), to deal
|
package/admin/jsonConfig.json
CHANGED
|
@@ -22,6 +22,8 @@
|
|
|
22
22
|
"type": "number",
|
|
23
23
|
"label": "Update interval (s)",
|
|
24
24
|
"default": 30,
|
|
25
|
+
"min": 5,
|
|
26
|
+
"max": 2147483,
|
|
25
27
|
"sm": 3,
|
|
26
28
|
"xs": 12,
|
|
27
29
|
"md": 3,
|
|
@@ -42,6 +44,8 @@
|
|
|
42
44
|
"type": "number",
|
|
43
45
|
"label": "Force sync interval (min, 0 = off)",
|
|
44
46
|
"default": 5,
|
|
47
|
+
"min": 0,
|
|
48
|
+
"max": 35791,
|
|
45
49
|
"sm": 3,
|
|
46
50
|
"help": "Compares source and target and only writes deviations - mappings in sync mode \"Force\" are always rewritten.",
|
|
47
51
|
"xs": 12,
|
|
@@ -378,6 +382,8 @@
|
|
|
378
382
|
"type": "number",
|
|
379
383
|
"label": "Interval (min)",
|
|
380
384
|
"default": 60,
|
|
385
|
+
"min": 1,
|
|
386
|
+
"max": 35791,
|
|
381
387
|
"sm": 6,
|
|
382
388
|
"xs": 12,
|
|
383
389
|
"md": 6,
|
package/admin/mqtt-plus.png
CHANGED
|
Binary file
|