iobroker.proscenic 0.1.2 → 0.1.4
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/README.md
CHANGED
|
@@ -1,5 +1,10 @@
|
|
|
1
1
|
# ioBroker.proscenic
|
|
2
2
|
|
|
3
|
+
<img width="147" height="139" alt="image" src="https://github.com/user-attachments/assets/c5d6a8c4-e6e4-42d6-be61-2c79e37f5a60" />
|
|
4
|
+
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
3
8
|
Development-stage ioBroker adapter for supported Proscenic vacuum robots,
|
|
4
9
|
initially the Proscenic M7 Pro (`M7_PRO`, model `811_LDS`) through the legacy
|
|
5
10
|
Proscenic cloud/gateway path.
|
|
@@ -13,7 +18,10 @@ against the verified legacy European Proscenic cloud, enumerate one real M7 Pro,
|
|
|
13
18
|
connect to the cloud gateway, project normalized runtime states, and expose the
|
|
14
19
|
first real-device-validated control and maintenance objects.
|
|
15
20
|
|
|
16
|
-
Verified on
|
|
21
|
+
Verified on Proscenic M7 Pro so far:
|
|
22
|
+
|
|
23
|
+
<img width="1136" height="378" alt="image" src="https://github.com/user-attachments/assets/8a53c100-3ec4-41a0-8254-29cdf28c7000" />
|
|
24
|
+
|
|
17
25
|
|
|
18
26
|
- cloud login, token acquisition, device discovery, gateway discovery, framed
|
|
19
27
|
socket reception, decryption, bounded reconnect, and adapter unload cleanup;
|
|
@@ -23,7 +31,7 @@ Verified on one owner-local Proscenic M7 Pro so far:
|
|
|
23
31
|
modes, deep cleaning, and dust collection;
|
|
24
32
|
- consumable counters for filter, side brush, main brush, and sensors;
|
|
25
33
|
- recent maintenance/message history, including dust-bag messages;
|
|
26
|
-
-
|
|
34
|
+
- local-development live-map rendering for VIS, including
|
|
27
35
|
app-oriented map colors, no-go areas, room-zone candidates, charger marker,
|
|
28
36
|
and an interpolated pose trail.
|
|
29
37
|
|
|
@@ -63,6 +71,16 @@ Security policy and contribution requirements are documented in
|
|
|
63
71
|
|
|
64
72
|
## Changelog
|
|
65
73
|
|
|
74
|
+
### 0.1.4 (2026-09-15)
|
|
75
|
+
|
|
76
|
+
- Refresh existing ioBroker object metadata during adapter startup so role,
|
|
77
|
+
read, and write corrections also reach already installed instances.
|
|
78
|
+
|
|
79
|
+
### 0.1.3 (2026-09-14)
|
|
80
|
+
|
|
81
|
+
- Fixed ioBroker object role metadata for command buttons and the water level
|
|
82
|
+
state.
|
|
83
|
+
|
|
66
84
|
### 0.1.2 (2026-09-14)
|
|
67
85
|
|
|
68
86
|
- Updated public maintainer/contact metadata for ioBroker latest review.
|
|
@@ -77,7 +77,7 @@ const STATE_DEFINITIONS = [
|
|
|
77
77
|
state("status.clean.totalTime", "Total cleaning time", "number", "value", { unit: "s", min: 0 }),
|
|
78
78
|
state("status.battery.percent", "Battery", "number", "value.battery", { unit: "%", min: 0, max: 100 }),
|
|
79
79
|
state("status.battery.rawPercent", "Raw battery", "number", "value.battery", { unit: "%", min: 0, max: 100 }),
|
|
80
|
-
state("status.water.level", "Water level", "number", "
|
|
80
|
+
state("status.water.level", "Water level", "number", "value", { min: 0 }),
|
|
81
81
|
state("status.mop.mode", "Mop mode", "number", "state", { min: 0 }),
|
|
82
82
|
state("status.fan.mode", "Fan mode", "string", "state"),
|
|
83
83
|
state("status.error.rawCount", "Raw error count", "number", "value", { min: 0 }),
|
|
@@ -143,9 +143,11 @@ const STATE_DEFINITIONS = [
|
|
|
143
143
|
async function extendAdapterObjects(adapter) {
|
|
144
144
|
for (const definition of CHANNEL_DEFINITIONS) {
|
|
145
145
|
await adapter.setObjectNotExistsAsync(definition.id, definition.object);
|
|
146
|
+
await adapter.extendObjectAsync(definition.id, definition.object);
|
|
146
147
|
}
|
|
147
148
|
for (const definition of STATE_DEFINITIONS) {
|
|
148
149
|
await adapter.setObjectNotExistsAsync(definition.id, definition.object);
|
|
150
|
+
await adapter.extendObjectAsync(definition.id, definition.object);
|
|
149
151
|
}
|
|
150
152
|
}
|
|
151
153
|
function channel(id, name) {
|
|
@@ -197,7 +199,7 @@ function commandButton(definition) {
|
|
|
197
199
|
name: definition.command,
|
|
198
200
|
type: "boolean",
|
|
199
201
|
role: "button",
|
|
200
|
-
read:
|
|
202
|
+
read: false,
|
|
201
203
|
write: true,
|
|
202
204
|
def: false
|
|
203
205
|
},
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/objects/object-definitions.ts"],
|
|
4
|
-
"sourcesContent": ["import type { CommandDefinition } from \"../domain/commands\";\nimport { COMMAND_DEFINITIONS } from \"../domain/commands\";\n\nexport interface StateDefinition {\n\tid: string;\n\tobject: ioBroker.StateObject;\n}\n\nexport interface ChannelDefinition {\n\tid: string;\n\tobject: ioBroker.ChannelObject;\n}\n\nexport const CHANNEL_DEFINITIONS: readonly ChannelDefinition[] = [\n\tchannel(\"device\", \"Selected device\"),\n\tchannel(\"connection\", \"Connection\"),\n\tchannel(\"capabilities\", \"Capabilities\"),\n\tchannel(\"consumables\", \"Consumables\"),\n\tchannel(\"consumables.filter\", \"Filter\"),\n\tchannel(\"consumables.sideBrush\", \"Side brush\"),\n\tchannel(\"consumables.mainBrush\", \"Main brush\"),\n\tchannel(\"consumables.sensors\", \"Sensors\"),\n\tchannel(\"status\", \"Status\"),\n\tchannel(\"status.clean\", \"Cleaning\"),\n\tchannel(\"status.battery\", \"Battery\"),\n\tchannel(\"status.water\", \"Water\"),\n\tchannel(\"status.mop\", \"Mop\"),\n\tchannel(\"status.fan\", \"Fan\"),\n\tchannel(\"status.error\", \"Error\"),\n\tchannel(\"status.features\", \"Features\"),\n\tchannel(\"status.maintenance\", \"Maintenance\"),\n\tchannel(\"status.maintenance.history\", \"Maintenance message history\"),\n\tchannel(\"map\", \"Map metadata\"),\n\tchannel(\"map.live\", \"Experimental live map\"),\n\tchannel(\"commands\", \"Commands\"),\n\tchannel(\"commands.fan\", \"Fan commands\"),\n];\n\nexport const STATE_DEFINITIONS: readonly StateDefinition[] = [\n\tstate(\"device.code\", \"Device code\", \"string\", \"info.name\"),\n\tstate(\"device.model\", \"Device model\", \"string\", \"info.name\"),\n\tstate(\"device.online\", \"Device online\", \"boolean\", \"indicator.reachable\"),\n\tstate(\"device.image\", \"Device image\", \"string\", \"text\"),\n\tstate(\"connection.cloud\", \"Cloud connected\", \"boolean\", \"indicator.connected\"),\n\tstate(\"connection.gateway\", \"Gateway connected\", \"boolean\", \"indicator.connected\"),\n\tstate(\"connection.lastError\", \"Last redacted error\", \"string\", \"text\"),\n\tstate(\"connection.lastStatusEvent\", \"Last status event\", \"string\", \"date\"),\n\tstate(\"capabilities.statusRead\", \"Read status\", \"boolean\", \"indicator\"),\n\tstate(\"capabilities.commands\", \"Commands exposed\", \"boolean\", \"indicator\"),\n\tstate(\"capabilities.maps\", \"Maps exposed\", \"boolean\", \"indicator\"),\n\tstate(\"capabilities.consumables\", \"Consumables exposed\", \"boolean\", \"indicator\"),\n\tstate(\"capabilities.maintenanceMessages\", \"Maintenance messages exposed\", \"boolean\", \"indicator\"),\n\t...consumableStates(\"consumables.filter\", \"Filter\"),\n\t...consumableStates(\"consumables.sideBrush\", \"Side brush\"),\n\t...consumableStates(\"consumables.mainBrush\", \"Main brush\"),\n\t...consumableStates(\"consumables.sensors\", \"Sensors\"),\n\tstate(\"consumables.updated\", \"Last consumables update\", \"string\", \"date\"),\n\tstate(\"consumables.lastReadResult\", \"Last consumables read result\", \"string\", \"text\"),\n\tstate(\"consumables.lastError\", \"Last consumables read error\", \"string\", \"text\"),\n\tstate(\"status.mode\", \"Mode\", \"string\", \"state\"),\n\tstate(\"status.subMode\", \"Sub mode\", \"string\", \"state\"),\n\tstate(\"status.clean.area\", \"Cleaning area\", \"number\", \"value\", { unit: \"m\u00B2\", min: 0 }),\n\tstate(\"status.clean.time\", \"Cleaning time\", \"number\", \"value\", { unit: \"s\", min: 0 }),\n\tstate(\"status.clean.totalArea\", \"Total cleaning area\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.clean.totalTime\", \"Total cleaning time\", \"number\", \"value\", { unit: \"s\", min: 0 }),\n\tstate(\"status.battery.percent\", \"Battery\", \"number\", \"value.battery\", { unit: \"%\", min: 0, max: 100 }),\n\tstate(\"status.battery.rawPercent\", \"Raw battery\", \"number\", \"value.battery\", { unit: \"%\", min: 0, max: 100 }),\n\tstate(\"status.water.level\", \"Water level\", \"number\", \"level\", { min: 0 }),\n\tstate(\"status.mop.mode\", \"Mop mode\", \"number\", \"state\", { min: 0 }),\n\tstate(\"status.fan.mode\", \"Fan mode\", \"string\", \"state\"),\n\tstate(\"status.error.rawCount\", \"Raw error count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.hasWarning\", \"Has maintenance warning\", \"boolean\", \"indicator\"),\n\tstate(\"status.maintenance.warningCount\", \"Maintenance warning count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.code\", \"Last maintenance event code\", \"number\", \"value\"),\n\tstate(\"status.maintenance.level\", \"Last maintenance event level\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.message\", \"Maintenance message\", \"string\", \"text\"),\n\tstate(\"status.maintenance.details\", \"Maintenance details\", \"string\", \"text\"),\n\tstate(\"status.maintenance.eventCount\", \"Maintenance event count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.updated\", \"Last maintenance event update\", \"string\", \"date\"),\n\tstate(\"status.maintenance.history.items\", \"Maintenance message history\", \"string\", \"json\"),\n\tstate(\"status.maintenance.history.count\", \"Maintenance message history count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.history.totalCount\", \"Total maintenance message count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.history.latestCode\", \"Latest maintenance history code\", \"number\", \"value\"),\n\tstate(\"status.maintenance.history.latestLevel\", \"Latest maintenance history level\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.history.latestMessage\", \"Latest maintenance history message\", \"string\", \"text\"),\n\tstate(\"status.maintenance.history.latestEventTime\", \"Latest maintenance history event time\", \"string\", \"date\"),\n\tstate(\"status.maintenance.history.updated\", \"Last maintenance message history update\", \"string\", \"date\"),\n\tstate(\n\t\t\"status.maintenance.history.lastReadResult\",\n\t\t\"Last maintenance message history read result\",\n\t\t\"string\",\n\t\t\"text\",\n\t),\n\tstate(\"status.maintenance.history.lastError\", \"Last maintenance message history read error\", \"string\", \"text\"),\n\tstate(\"status.features.autoBoost\", \"Auto boost\", \"boolean\", \"indicator\"),\n\tstate(\"status.features.cleanComponents\", \"Clean components\", \"boolean\", \"indicator\"),\n\tstate(\"map.available\", \"Map data available\", \"boolean\", \"indicator\"),\n\tstate(\"map.id\", \"Map ID\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.pathId\", \"Path ID\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.width\", \"Map width\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.height\", \"Map height\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.resolution\", \"Map resolution\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.areaCount\", \"Map area count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.compressedBytes\", \"Compressed map bytes\", \"number\", \"value\", { unit: \"B\", min: 0 }),\n\tstate(\"map.encodedBytes\", \"Encoded map bytes\", \"number\", \"value\", { unit: \"B\", min: 0 }),\n\tstate(\"map.updated\", \"Last map metadata update\", \"string\", \"date\"),\n\tstate(\"map.live.image\", \"Experimental live map image\", \"string\", \"text\"),\n\tstate(\"map.live.areas\", \"Experimental live map areas\", \"string\", \"json\"),\n\tstate(\"map.live.updated\", \"Last live map image update\", \"string\", \"date\"),\n\tstate(\"map.live.orientation\", \"Live map orientation\", \"string\", \"state\"),\n\tstate(\"map.live.poseCount\", \"Live map pose count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.rawPoseCount\", \"Raw live map pose count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.pathLineSegments\", \"Live map path line segments\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.skippedPathSegments\", \"Skipped live map path segments\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.currentAreaCount\", \"Current live map area count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.cachedAreaCount\", \"Cached live map area count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.renderedForbiddenAreaCount\", \"Rendered forbidden area count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.renderedRoomAreaCount\", \"Rendered room area count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.hasCachedStaticOverlays\", \"Has cached static live map overlays\", \"boolean\", \"indicator\"),\n\tstate(\"map.live.renderReason\", \"Last live map render reason\", \"string\", \"state\"),\n\tstate(\"map.live.lastPathId\", \"Last live map path ID\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.pathResetCount\", \"Live map path reset count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.lastPoseUpdated\", \"Last live map pose update\", \"string\", \"date\"),\n\tstate(\"map.live.decompressedBytes\", \"Live map decompressed bytes\", \"number\", \"value\", { unit: \"B\", min: 0 }),\n\t...COMMAND_DEFINITIONS.map(definition => commandButton(definition)),\n\tstate(\"commands.lastCommand\", \"Last command\", \"string\", \"text\"),\n\tstate(\"commands.lastResult\", \"Last command result\", \"string\", \"text\"),\n\tstate(\"commands.lastError\", \"Last command error\", \"string\", \"text\"),\n\tstate(\"commands.lastExecution\", \"Last command execution\", \"string\", \"date\"),\n];\n\nexport async function extendAdapterObjects(adapter: ioBroker.Adapter): Promise<void> {\n\tfor (const definition of CHANNEL_DEFINITIONS) {\n\t\tawait adapter.setObjectNotExistsAsync(definition.id, definition.object);\n\t}\n\n\tfor (const definition of STATE_DEFINITIONS) {\n\t\tawait adapter.setObjectNotExistsAsync(definition.id, definition.object);\n\t}\n}\n\nfunction channel(id: string, name: string): ChannelDefinition {\n\treturn {\n\t\tid,\n\t\tobject: {\n\t\t\t_id: id,\n\t\t\ttype: \"channel\",\n\t\t\tcommon: {\n\t\t\t\tname,\n\t\t\t},\n\t\t\tnative: {},\n\t\t},\n\t};\n}\n\nfunction state(\n\tid: string,\n\tname: string,\n\ttype: ioBroker.CommonType,\n\trole: string,\n\toptions: Partial<ioBroker.StateCommon> = {},\n): StateDefinition {\n\treturn {\n\t\tid,\n\t\tobject: {\n\t\t\t_id: id,\n\t\t\ttype: \"state\",\n\t\t\tcommon: {\n\t\t\t\tname,\n\t\t\t\ttype,\n\t\t\t\trole,\n\t\t\t\tread: true,\n\t\t\t\twrite: false,\n\t\t\t\t...options,\n\t\t\t},\n\t\t\tnative: {},\n\t\t},\n\t};\n}\n\nfunction consumableStates(prefix: string, name: string): StateDefinition[] {\n\treturn [\n\t\tstate(`${prefix}.usedSeconds`, `${name} used seconds`, \"number\", \"value\", { unit: \"s\", min: 0 }),\n\t\tstate(`${prefix}.intervalHours`, `${name} interval`, \"number\", \"value\", { unit: \"h\", min: 0 }),\n\t\tstate(`${prefix}.remainingPercent`, `${name} remaining`, \"number\", \"value\", { unit: \"%\" }),\n\t\tstate(`${prefix}.overdueHours`, `${name} overdue`, \"number\", \"value\", { unit: \"h\", min: 0 }),\n\t];\n}\n\nfunction commandButton(definition: CommandDefinition): StateDefinition {\n\treturn {\n\t\tid: definition.id,\n\t\tobject: {\n\t\t\t_id: definition.id,\n\t\t\ttype: \"state\",\n\t\t\tcommon: {\n\t\t\t\tname: definition.command,\n\t\t\t\ttype: \"boolean\",\n\t\t\t\trole: \"button\",\n\t\t\t\tread: true,\n\t\t\t\twrite: true,\n\t\t\t\tdef: false,\n\t\t\t},\n\t\t\tnative: {},\n\t\t},\n\t};\n}\n"],
|
|
5
|
-
"mappings": "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
|
|
4
|
+
"sourcesContent": ["import type { CommandDefinition } from \"../domain/commands\";\nimport { COMMAND_DEFINITIONS } from \"../domain/commands\";\n\nexport interface StateDefinition {\n\tid: string;\n\tobject: ioBroker.StateObject;\n}\n\nexport interface ChannelDefinition {\n\tid: string;\n\tobject: ioBroker.ChannelObject;\n}\n\nexport const CHANNEL_DEFINITIONS: readonly ChannelDefinition[] = [\n\tchannel(\"device\", \"Selected device\"),\n\tchannel(\"connection\", \"Connection\"),\n\tchannel(\"capabilities\", \"Capabilities\"),\n\tchannel(\"consumables\", \"Consumables\"),\n\tchannel(\"consumables.filter\", \"Filter\"),\n\tchannel(\"consumables.sideBrush\", \"Side brush\"),\n\tchannel(\"consumables.mainBrush\", \"Main brush\"),\n\tchannel(\"consumables.sensors\", \"Sensors\"),\n\tchannel(\"status\", \"Status\"),\n\tchannel(\"status.clean\", \"Cleaning\"),\n\tchannel(\"status.battery\", \"Battery\"),\n\tchannel(\"status.water\", \"Water\"),\n\tchannel(\"status.mop\", \"Mop\"),\n\tchannel(\"status.fan\", \"Fan\"),\n\tchannel(\"status.error\", \"Error\"),\n\tchannel(\"status.features\", \"Features\"),\n\tchannel(\"status.maintenance\", \"Maintenance\"),\n\tchannel(\"status.maintenance.history\", \"Maintenance message history\"),\n\tchannel(\"map\", \"Map metadata\"),\n\tchannel(\"map.live\", \"Experimental live map\"),\n\tchannel(\"commands\", \"Commands\"),\n\tchannel(\"commands.fan\", \"Fan commands\"),\n];\n\nexport const STATE_DEFINITIONS: readonly StateDefinition[] = [\n\tstate(\"device.code\", \"Device code\", \"string\", \"info.name\"),\n\tstate(\"device.model\", \"Device model\", \"string\", \"info.name\"),\n\tstate(\"device.online\", \"Device online\", \"boolean\", \"indicator.reachable\"),\n\tstate(\"device.image\", \"Device image\", \"string\", \"text\"),\n\tstate(\"connection.cloud\", \"Cloud connected\", \"boolean\", \"indicator.connected\"),\n\tstate(\"connection.gateway\", \"Gateway connected\", \"boolean\", \"indicator.connected\"),\n\tstate(\"connection.lastError\", \"Last redacted error\", \"string\", \"text\"),\n\tstate(\"connection.lastStatusEvent\", \"Last status event\", \"string\", \"date\"),\n\tstate(\"capabilities.statusRead\", \"Read status\", \"boolean\", \"indicator\"),\n\tstate(\"capabilities.commands\", \"Commands exposed\", \"boolean\", \"indicator\"),\n\tstate(\"capabilities.maps\", \"Maps exposed\", \"boolean\", \"indicator\"),\n\tstate(\"capabilities.consumables\", \"Consumables exposed\", \"boolean\", \"indicator\"),\n\tstate(\"capabilities.maintenanceMessages\", \"Maintenance messages exposed\", \"boolean\", \"indicator\"),\n\t...consumableStates(\"consumables.filter\", \"Filter\"),\n\t...consumableStates(\"consumables.sideBrush\", \"Side brush\"),\n\t...consumableStates(\"consumables.mainBrush\", \"Main brush\"),\n\t...consumableStates(\"consumables.sensors\", \"Sensors\"),\n\tstate(\"consumables.updated\", \"Last consumables update\", \"string\", \"date\"),\n\tstate(\"consumables.lastReadResult\", \"Last consumables read result\", \"string\", \"text\"),\n\tstate(\"consumables.lastError\", \"Last consumables read error\", \"string\", \"text\"),\n\tstate(\"status.mode\", \"Mode\", \"string\", \"state\"),\n\tstate(\"status.subMode\", \"Sub mode\", \"string\", \"state\"),\n\tstate(\"status.clean.area\", \"Cleaning area\", \"number\", \"value\", { unit: \"m\u00B2\", min: 0 }),\n\tstate(\"status.clean.time\", \"Cleaning time\", \"number\", \"value\", { unit: \"s\", min: 0 }),\n\tstate(\"status.clean.totalArea\", \"Total cleaning area\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.clean.totalTime\", \"Total cleaning time\", \"number\", \"value\", { unit: \"s\", min: 0 }),\n\tstate(\"status.battery.percent\", \"Battery\", \"number\", \"value.battery\", { unit: \"%\", min: 0, max: 100 }),\n\tstate(\"status.battery.rawPercent\", \"Raw battery\", \"number\", \"value.battery\", { unit: \"%\", min: 0, max: 100 }),\n\tstate(\"status.water.level\", \"Water level\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.mop.mode\", \"Mop mode\", \"number\", \"state\", { min: 0 }),\n\tstate(\"status.fan.mode\", \"Fan mode\", \"string\", \"state\"),\n\tstate(\"status.error.rawCount\", \"Raw error count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.hasWarning\", \"Has maintenance warning\", \"boolean\", \"indicator\"),\n\tstate(\"status.maintenance.warningCount\", \"Maintenance warning count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.code\", \"Last maintenance event code\", \"number\", \"value\"),\n\tstate(\"status.maintenance.level\", \"Last maintenance event level\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.message\", \"Maintenance message\", \"string\", \"text\"),\n\tstate(\"status.maintenance.details\", \"Maintenance details\", \"string\", \"text\"),\n\tstate(\"status.maintenance.eventCount\", \"Maintenance event count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.updated\", \"Last maintenance event update\", \"string\", \"date\"),\n\tstate(\"status.maintenance.history.items\", \"Maintenance message history\", \"string\", \"json\"),\n\tstate(\"status.maintenance.history.count\", \"Maintenance message history count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.history.totalCount\", \"Total maintenance message count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.history.latestCode\", \"Latest maintenance history code\", \"number\", \"value\"),\n\tstate(\"status.maintenance.history.latestLevel\", \"Latest maintenance history level\", \"number\", \"value\", { min: 0 }),\n\tstate(\"status.maintenance.history.latestMessage\", \"Latest maintenance history message\", \"string\", \"text\"),\n\tstate(\"status.maintenance.history.latestEventTime\", \"Latest maintenance history event time\", \"string\", \"date\"),\n\tstate(\"status.maintenance.history.updated\", \"Last maintenance message history update\", \"string\", \"date\"),\n\tstate(\n\t\t\"status.maintenance.history.lastReadResult\",\n\t\t\"Last maintenance message history read result\",\n\t\t\"string\",\n\t\t\"text\",\n\t),\n\tstate(\"status.maintenance.history.lastError\", \"Last maintenance message history read error\", \"string\", \"text\"),\n\tstate(\"status.features.autoBoost\", \"Auto boost\", \"boolean\", \"indicator\"),\n\tstate(\"status.features.cleanComponents\", \"Clean components\", \"boolean\", \"indicator\"),\n\tstate(\"map.available\", \"Map data available\", \"boolean\", \"indicator\"),\n\tstate(\"map.id\", \"Map ID\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.pathId\", \"Path ID\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.width\", \"Map width\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.height\", \"Map height\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.resolution\", \"Map resolution\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.areaCount\", \"Map area count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.compressedBytes\", \"Compressed map bytes\", \"number\", \"value\", { unit: \"B\", min: 0 }),\n\tstate(\"map.encodedBytes\", \"Encoded map bytes\", \"number\", \"value\", { unit: \"B\", min: 0 }),\n\tstate(\"map.updated\", \"Last map metadata update\", \"string\", \"date\"),\n\tstate(\"map.live.image\", \"Experimental live map image\", \"string\", \"text\"),\n\tstate(\"map.live.areas\", \"Experimental live map areas\", \"string\", \"json\"),\n\tstate(\"map.live.updated\", \"Last live map image update\", \"string\", \"date\"),\n\tstate(\"map.live.orientation\", \"Live map orientation\", \"string\", \"state\"),\n\tstate(\"map.live.poseCount\", \"Live map pose count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.rawPoseCount\", \"Raw live map pose count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.pathLineSegments\", \"Live map path line segments\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.skippedPathSegments\", \"Skipped live map path segments\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.currentAreaCount\", \"Current live map area count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.cachedAreaCount\", \"Cached live map area count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.renderedForbiddenAreaCount\", \"Rendered forbidden area count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.renderedRoomAreaCount\", \"Rendered room area count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.hasCachedStaticOverlays\", \"Has cached static live map overlays\", \"boolean\", \"indicator\"),\n\tstate(\"map.live.renderReason\", \"Last live map render reason\", \"string\", \"state\"),\n\tstate(\"map.live.lastPathId\", \"Last live map path ID\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.pathResetCount\", \"Live map path reset count\", \"number\", \"value\", { min: 0 }),\n\tstate(\"map.live.lastPoseUpdated\", \"Last live map pose update\", \"string\", \"date\"),\n\tstate(\"map.live.decompressedBytes\", \"Live map decompressed bytes\", \"number\", \"value\", { unit: \"B\", min: 0 }),\n\t...COMMAND_DEFINITIONS.map(definition => commandButton(definition)),\n\tstate(\"commands.lastCommand\", \"Last command\", \"string\", \"text\"),\n\tstate(\"commands.lastResult\", \"Last command result\", \"string\", \"text\"),\n\tstate(\"commands.lastError\", \"Last command error\", \"string\", \"text\"),\n\tstate(\"commands.lastExecution\", \"Last command execution\", \"string\", \"date\"),\n];\n\nexport async function extendAdapterObjects(adapter: ioBroker.Adapter): Promise<void> {\n\tfor (const definition of CHANNEL_DEFINITIONS) {\n\t\tawait adapter.setObjectNotExistsAsync(definition.id, definition.object);\n\t\tawait adapter.extendObjectAsync(definition.id, definition.object);\n\t}\n\n\tfor (const definition of STATE_DEFINITIONS) {\n\t\tawait adapter.setObjectNotExistsAsync(definition.id, definition.object);\n\t\tawait adapter.extendObjectAsync(definition.id, definition.object);\n\t}\n}\n\nfunction channel(id: string, name: string): ChannelDefinition {\n\treturn {\n\t\tid,\n\t\tobject: {\n\t\t\t_id: id,\n\t\t\ttype: \"channel\",\n\t\t\tcommon: {\n\t\t\t\tname,\n\t\t\t},\n\t\t\tnative: {},\n\t\t},\n\t};\n}\n\nfunction state(\n\tid: string,\n\tname: string,\n\ttype: ioBroker.CommonType,\n\trole: string,\n\toptions: Partial<ioBroker.StateCommon> = {},\n): StateDefinition {\n\treturn {\n\t\tid,\n\t\tobject: {\n\t\t\t_id: id,\n\t\t\ttype: \"state\",\n\t\t\tcommon: {\n\t\t\t\tname,\n\t\t\t\ttype,\n\t\t\t\trole,\n\t\t\t\tread: true,\n\t\t\t\twrite: false,\n\t\t\t\t...options,\n\t\t\t},\n\t\t\tnative: {},\n\t\t},\n\t};\n}\n\nfunction consumableStates(prefix: string, name: string): StateDefinition[] {\n\treturn [\n\t\tstate(`${prefix}.usedSeconds`, `${name} used seconds`, \"number\", \"value\", { unit: \"s\", min: 0 }),\n\t\tstate(`${prefix}.intervalHours`, `${name} interval`, \"number\", \"value\", { unit: \"h\", min: 0 }),\n\t\tstate(`${prefix}.remainingPercent`, `${name} remaining`, \"number\", \"value\", { unit: \"%\" }),\n\t\tstate(`${prefix}.overdueHours`, `${name} overdue`, \"number\", \"value\", { unit: \"h\", min: 0 }),\n\t];\n}\n\nfunction commandButton(definition: CommandDefinition): StateDefinition {\n\treturn {\n\t\tid: definition.id,\n\t\tobject: {\n\t\t\t_id: definition.id,\n\t\t\ttype: \"state\",\n\t\t\tcommon: {\n\t\t\t\tname: definition.command,\n\t\t\t\ttype: \"boolean\",\n\t\t\t\trole: \"button\",\n\t\t\t\tread: false,\n\t\t\t\twrite: true,\n\t\t\t\tdef: false,\n\t\t\t},\n\t\t\tnative: {},\n\t\t},\n\t};\n}\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,34 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "proscenic",
|
|
4
|
-
"version": "0.1.
|
|
4
|
+
"version": "0.1.4",
|
|
5
5
|
"news": {
|
|
6
|
+
"0.1.4": {
|
|
7
|
+
"en": "Refreshes existing ioBroker object metadata during adapter startup",
|
|
8
|
+
"de": "Aktualisiert bestehende ioBroker-Objektmetadaten beim Adapterstart",
|
|
9
|
+
"ru": "Обновляет существующие метаданные объектов ioBroker при запуске адаптера",
|
|
10
|
+
"pt": "Atualiza metadados de objetos ioBroker existentes durante a inicialização do adaptador",
|
|
11
|
+
"nl": "Werkt bestaande ioBroker-objectmetadata bij tijdens het starten van de adapter",
|
|
12
|
+
"fr": "Actualise les métadonnées des objets ioBroker existants au démarrage de l'adaptateur",
|
|
13
|
+
"it": "Aggiorna i metadati degli oggetti ioBroker esistenti all'avvio dell'adattatore",
|
|
14
|
+
"es": "Actualiza los metadatos de objetos ioBroker existentes al iniciar el adaptador",
|
|
15
|
+
"pl": "Odświeża istniejące metadane obiektów ioBroker podczas uruchamiania adaptera",
|
|
16
|
+
"uk": "Оновлює наявні метадані об'єктів ioBroker під час запуску адаптера",
|
|
17
|
+
"zh-cn": "在适配器启动期间刷新现有 ioBroker 对象元数据"
|
|
18
|
+
},
|
|
19
|
+
"0.1.3": {
|
|
20
|
+
"en": "Fixed ioBroker object role metadata for command buttons and the water level state",
|
|
21
|
+
"de": "ioBroker-Objektrollen für Befehlstasten und den Wasserstand-State korrigiert",
|
|
22
|
+
"ru": "Исправлены метаданные ролей объектов ioBroker для кнопок команд и состояния уровня воды",
|
|
23
|
+
"pt": "Metadados de função dos objetos ioBroker corrigidos para botões de comando e estado do nível de água",
|
|
24
|
+
"nl": "ioBroker-objectrolmetadata gecorrigeerd voor opdrachtknoppen en de waterniveau-status",
|
|
25
|
+
"fr": "Correction des métadonnées de rôle des objets ioBroker pour les boutons de commande et l'état du niveau d'eau",
|
|
26
|
+
"it": "Corretti i metadati dei ruoli degli oggetti ioBroker per i pulsanti di comando e lo stato del livello dell'acqua",
|
|
27
|
+
"es": "Corregidos los metadatos de roles de objetos ioBroker para botones de comando y estado del nivel de agua",
|
|
28
|
+
"pl": "Poprawiono metadane ról obiektów ioBroker dla przycisków poleceń i stanu poziomu wody",
|
|
29
|
+
"uk": "Виправлено метадані ролей об'єктів ioBroker для кнопок команд і стану рівня води",
|
|
30
|
+
"zh-cn": "修正命令按钮和水位状态的 ioBroker 对象角色元数据"
|
|
31
|
+
},
|
|
6
32
|
"0.1.2": {
|
|
7
33
|
"en": "Updated public maintainer metadata for ioBroker latest review",
|
|
8
34
|
"de": "Öffentliche Maintainer-Metadaten für die ioBroker-Latest-Prüfung aktualisiert",
|