iobroker.zigbee2mqtt 3.0.7 → 3.0.8

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
@@ -22,8 +22,12 @@ This adapter allows to control the data points of the devices of a Zigbee2MQTT i
22
22
  [Adapter Documentation](https://github.com/arteck/ioBroker.zigbee2mqtt/blob/main/docs/wiki.md)
23
23
 
24
24
  ## Changelog
25
+ ### 3.0.8 (2025-06-08)
26
+ - (arteck) fix device is deleted
27
+ - (arteck) fix translation
28
+
25
29
  ### 3.0.7 (2025-06-07)
26
- - (arteck) fix jsconconf
30
+ - (arteck) fix jsonconf
27
31
 
28
32
  ### 3.0.6 (2025-05-31)
29
33
  - (arteck) settings restructure
@@ -1,48 +1,51 @@
1
1
  {
2
- "click for Documentation": "点击查看文档",
3
- "A detailed documentation with explanations and all further information can be found on this GitHub page:": "有关更多信息,请参见 GitHub 页面上的详细说明和解释:",
4
- "zigbee2mqtt adapter settings": "zigbee2mqtt 的适配器设置",
5
- "Select and configure your Zigbee2MQTT connection": "选择并配置 Zigbee2MQTT 连接",
6
- "Select connection to Zigbee2MQTT": "选择与 Zigbee2MQTT 的连接",
7
- "Websocket": "网络套接字",
8
- "External MQTT-Server": "外部 MQTT 服务器",
9
- "Internal MQTT-Server": "内部 MQTT 服务器",
10
- "Configure your Zigbee2MQTT connection": "配置您的 Zigbee2MQTT 连接",
11
- "Websocket IP-Address": "Websocket IP 地址",
12
- "Websocket Port": "Websocket 端口",
13
- "Use Auth-Token": "使用授权令牌",
14
- "Auth-Token (special characters are not supported)": "Auth-Token(不支持特殊字符)",
15
- "Create a dummy MQTT-Server for Zigbee2MQTT": "为 Zigbee2MQTT 创建虚拟 MQTT 服务器",
16
- "External MQTT-Server IP-Address": "外部 MQTT 服务器 IP 地址",
17
- "External MQTT-Server Port": "外部 MQTT 服务器端口",
18
- "MQTT-Server IP-Address bind": "MQTT-服务器IP地址绑定",
19
- "MQTT-Server Port": "MQTT-服务器端口",
20
- "Configure your Zigbee2MQTT WebUi connection": "配置 Zigbee2MQTT WebUi 连接",
21
- "WebUi Address": "WebUi地址",
22
- "WebUi Port": "WebUi端口",
23
- "Color configurations": "颜色配置",
24
- "Color temperature sync with color": "色温与颜色同步",
25
- "Use Kelvin instead of mired for the color temps": "使用 Kelvin 而不是 mired 的色温",
26
- "Other configurations": "其他配置",
27
- "Proxy Zigbee2MQTT logs to ioBroker logs": "代理 Zigbee2MQTT 日志到 ioBroker 日志",
28
- "Brightness step should also turn the light on or off": "亮度步骤也应该打开或关闭灯",
29
- "The events such as 'Device removed' or 'Disabled' are displayed in the description instead of in the name.": "“设备已移除”或“已禁用”等事件显示在描述中而不是名称中。",
30
- "Scheme": "方案",
31
- "Use MQTT Credentials": "使用 MQTT 凭证",
32
- "MQTT Username": "MQTT 用户名",
33
- "MQTT Password": "MQTT 密码",
34
- "Download device images from Zigbee2Mqtt and use them as object icons.": " Zigbee2Mqtt 下载设备图像并将其用作对象图标。",
35
- "Generate simple 'Hold' and 'Release' states": "生成简单的“保持”和“释放”状态",
36
- "When enabled, the 'Hold' and 'Release' states are combined and the 'Hold' data point remains true until the 'Release' event arrives.": "启用后,“保持”和“释放”状态会结合在一起,并且“保持”数据点保持为真,直到“释放”事件到达。",
37
- "Generate simple 'Move' and 'Stop' states": "生成简单的“移动”和“停止”状态",
38
- "When enabled, the 'Move' and 'Stop' states are combined and the 'Move' data point remains true until the 'Stop' event arrives.": "启用后,“移动”和“停止”状态将组合在一起,并且“移动”数据点保持为真,直到“停止”事件到达。",
39
- "State configurations": "状态配置",
40
- "Generate simple 'Press' and 'Release' states": "生成简单的“按下”和“释放”状态",
41
- "When enabled, the 'Press' and 'Release' states are combined and the 'Press' data point remains true until the 'Release' event arrives.": "启用后,“按下”和“释放”状态将组合在一起,并且“按下”数据点保持为真,直到“释放”事件到达。",
42
- "If the size is later changed to a larger value, the images already downloaded must be deleted. <br> Please note that icons are stored in the object and should therefore not be unnecessarily large!": "如果稍后将大小更改为更大的值,则必须删除已下载的图像。 <br> 请注意,图标存储在对象中,因此不应过大!",
43
- "Automatic check for missing routers in the coordinator memory.": "自动检查协调器内存中丢失的路由器。",
44
- "With which log level should a negative search be logged?": "应该使用哪个日志级别来记录负面搜索?",
45
- "Time of the automatic check": "自动检查时间",
46
- "More information": "更多信息",
47
- "Allways update available state when message included last_seen status": "当消息包含 last_seen 状态时,总是更新可用状态",
2
+ "click for Documentation": "点击查看文档",
3
+ "A detailed documentation with explanations and all further information can be found on this GitHub page:": "详细的文档和所有其他信息可在此 GitHub 页面找到:",
4
+ "zigbee2mqtt adapter settings": "zigbee2mqtt 适配器设置",
5
+ "Select and configure your Zigbee2MQTT connection": "选择并配置您的 Zigbee2MQTT 连接",
6
+ "Select connection to Zigbee2MQTT": "选择 Zigbee2MQTT 连接",
7
+ "Websocket": "Websocket",
8
+ "External MQTT-Server": "外部 MQTT 服务器",
9
+ "Internal MQTT-Server": "内部 MQTT 服务器",
10
+ "Configure your Zigbee2MQTT connection": "配置您的 Zigbee2MQTT 连接",
11
+ "Websocket IP-Address": "Websocket IP 地址",
12
+ "Websocket Port": "Websocket 端口",
13
+ "Use Auth-Token": "使用认证令牌",
14
+ "Auth-Token (special characters are not supported)": "认证令牌(不支持特殊字符)",
15
+ "Create a dummy MQTT-Server for Zigbee2MQTT": "为 Zigbee2MQTT 创建虚拟 MQTT 服务器",
16
+ "External MQTT-Server IP-Address": "外部 MQTT 服务器 IP 地址",
17
+ "External MQTT-Server Port": "外部 MQTT 服务器端口",
18
+ "MQTT-Server IP-Address bind": "MQTT 服务器绑定的 IP 地址",
19
+ "MQTT-Server Port": "MQTT 服务器端口",
20
+ "Configure your Zigbee2MQTT WebUi connection": "配置您的 Zigbee2MQTT WebUi 连接",
21
+ "WebUi Address": "WebUi 地址",
22
+ "WebUi Port": "WebUi 端口",
23
+ "Color configurations": "颜色配置",
24
+ "Color temperature sync with color": "颜色温度与颜色同步",
25
+ "Use Kelvin instead of mired for the color temps": "使用开尔文而不是迈尔德表示色温",
26
+ "Other configurations": "其他配置",
27
+ "Proxy Zigbee2MQTT logs to ioBroker logs": " Zigbee2MQTT 日志代理到 ioBroker 日志",
28
+ "Brightness move should also turn the light on or off": "亮度调节应同时控制灯的开关",
29
+ "Brightness step should also turn the light on or off": "亮度步骤应同时控制灯的开关",
30
+ "The events such as 'Device removed' or 'Disabled' are displayed in the description instead of in the name.": "‘设备移除’或‘已禁用’等事件显示在描述中,而不是名称中。",
31
+ "Scheme": "方案",
32
+ "Use MQTT Credentials": "使用 MQTT 凭证",
33
+ "MQTT Username": "MQTT 用户名",
34
+ "MQTT Password": "MQTT 密码",
35
+ "Download device images from Zigbee2Mqtt and use them as object icons.": "从 Zigbee2Mqtt 下载设备图像并用作对象图标。",
36
+ "Generate simple 'Hold' and 'Release' states": "生成简单的‘按住’和‘释放’状态",
37
+ "When enabled, the 'Hold' and 'Release' states are combined and the 'Hold' data point remains true until the 'Release' event arrives.": "启用后,‘按住’和‘释放’状态将合并,‘按住’数据点在‘释放’事件到来前保持为真。",
38
+ "Generate simple 'Move' and 'Stop' states": "生成简单的‘移动’和‘停止’状态",
39
+ "When enabled, the 'Move' and 'Stop' states are combined and the 'Move' data point remains true until the 'Stop' event arrives.": "启用后,‘移动’和‘停止’状态将合并,‘移动’数据点在‘停止’事件到来前保持为真。",
40
+ "State configurations": "状态配置",
41
+ "Generate simple 'Press' and 'Release' states": "生成简单的‘按下’和‘释放’状态",
42
+ "When enabled, the 'Press' and 'Release' states are combined and the 'Press' data point remains true until the 'Release' event arrives.": "启用后,‘按下’和‘释放’状态将合并,‘按下’数据点在‘释放’事件到来前保持为真。",
43
+ "If the size is later changed to a larger value, the images already downloaded must be deleted. <br> Please note that icons are stored in the object and should therefore not be unnecessarily large!": "如果之后将大小更改为更大值,必须删除已下载的图像。<br>请注意,图标存储在对象中,因此不应过大!",
44
+ "Automatic check for missing routers in the coordinator memory.": "自动检查协调器内存中缺失的路由器。",
45
+ "With which log level should a negative search be logged?": "应使用哪个日志级别记录失败的搜索?",
46
+ "Time of the automatic check": "自动检查时间",
47
+ "More information": "更多信息",
48
+ "Expert Settings. Please only use if you know what you're doing": "专家设置。请仅在您清楚操作的情况下使用",
49
+ "Allways update state for occupancy when message arrives from zigbee2mqtt server (Only for true state). Increases load on ioBroker System": "当来自 zigbee2mqtt 服务器的消息到达时始终更新占用状态(仅限为 true 的状态)。会增加 ioBroker 系统负载",
50
+ "Allways update available state when message included last_seen status": "当消息包含 last_seen 状态时始终更新可用状态"
48
51
  }
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "zigbee2mqtt",
4
- "version": "3.0.7",
4
+ "version": "3.0.8",
5
5
  "news": {
6
+ "3.0.8": {
7
+ "en": "fix device is deleted\nfix translation",
8
+ "de": "fix device wird gelöscht\nbersetzung",
9
+ "ru": "фиксировать устройство удалено\nперевод",
10
+ "pt": "dispositivo de correção é excluído\ncorrigir tradução",
11
+ "nl": "fix apparaat wordt verwijderd\nfix vertaling",
12
+ "fr": "le dispositif de correction est supprimé\ncorriger la traduction",
13
+ "it": "dispositivo di correzione viene eliminato\ncorrezione della traduzione",
14
+ "es": "dispositivo de solución se elimina\ntraducción",
15
+ "pl": "urządzenie naprawcze zostaje usunięte\ntłumaczenie",
16
+ "uk": "видалити пристрій\nфіксувати переклад",
17
+ "zh-cn": "固定设备被删除\n固定翻译"
18
+ },
6
19
  "3.0.7": {
7
20
  "en": "fix jsconconf",
8
21
  "de": "fix jsconf",
@@ -80,19 +93,6 @@
80
93
  "pl": "połączenie corr WebSocket",
81
94
  "uk": "корр WebSocket підключення",
82
95
  "zh-cn": "corr WebSocket 连接"
83
- },
84
- "3.0.1": {
85
- "en": "corr icon download",
86
- "de": "corr icon herunterladen",
87
- "ru": "скачать значок",
88
- "pt": "corrimento ícone download",
89
- "nl": "corr pictogramdownload",
90
- "fr": "corr icon télécharger",
91
- "it": "icona corr scaricare",
92
- "es": "corr icono descargar",
93
- "pl": "pobierz ikonę corr",
94
- "uk": "cкачати ігру corr",
95
- "zh-cn": "corr 图标下载"
96
96
  }
97
97
  },
98
98
  "messages": [
@@ -251,9 +251,7 @@ class DeviceController {
251
251
  }
252
252
  }
253
253
 
254
- if (!this.createCache[device.ieee_address] ||
255
- this.createCache[device.ieee_address].name != deviceName ||
256
- this.createCache[device.ieee_address].description != description) {
254
+ if (!this.createCache[device.ieee_address] || this.createCache[device.ieee_address].name != deviceName || this.createCache[device.ieee_address].description != description) {
257
255
  const deviceObj = {
258
256
  type: 'device',
259
257
  common: {
@@ -298,20 +296,18 @@ class DeviceController {
298
296
  }
299
297
  }
300
298
 
301
- for (const state of device.states) {
302
- if (
303
- state &&
304
- (!this.createCache[device.ieee_address][state.id] ||
305
- this.createCache[device.ieee_address][state.id].name != state.name)
306
- ) {
307
- const iobState = {
308
- type: 'state',
309
- common: await this.copyAndCleanStateObj(state),
310
- native: {},
311
- };
299
+ if (device != undefined && device.states != undefined) {
300
+ for (const state of device.states) {
301
+ if (state && (!this.createCache[device.ieee_address][state.id] || this.createCache[device.ieee_address][state.id].name != state.name)) {
302
+ const iobState = {
303
+ type: 'state',
304
+ common: await this.copyAndCleanStateObj(state),
305
+ native: {},
306
+ };
312
307
 
313
- await this.adapter.extendObjectAsync(`${device.ieee_address}.${state.id}`, iobState);
314
- this.createCache[device.ieee_address][state.id] = { name: state.name, created: true };
308
+ await this.adapter.extendObjectAsync(`${device.ieee_address}.${state.id}`, iobState);
309
+ this.createCache[device.ieee_address][state.id] = {name: state.name, created: true};
310
+ }
315
311
  }
316
312
  }
317
313
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "iobroker.zigbee2mqtt",
3
- "version": "3.0.7",
3
+ "version": "3.0.8",
4
4
  "description": "Zigbee2MQTT adapter for ioBroker",
5
5
  "author": {
6
6
  "name": "Dennis Rathjen and Arthur Rupp",