iobroker.zigbee2mqtt 3.0.4 → 3.0.5
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 +5 -0
- package/admin/i18n/de/translations.json +2 -1
- package/admin/i18n/en/translations.json +2 -1
- package/admin/i18n/fr/translations.json +2 -1
- package/admin/i18n/it/translations.json +2 -1
- package/admin/i18n/nl/translations.json +2 -1
- package/admin/i18n/pl/translations.json +2 -1
- package/admin/i18n/pt/translations.json +2 -1
- package/admin/i18n/ru/translations.json +2 -1
- package/admin/i18n/uk/translations.json +2 -1
- package/admin/i18n/zh-cn/translations.json +2 -1
- package/admin/jsonConfig.json +5 -0
- package/io-package.json +18 -16
- package/lib/deviceController.js +5 -5
- package/lib/exposes.js +4 -4
- package/lib/states.js +90 -6337
- package/lib/statesController.js +41 -15
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -22,6 +22,11 @@ 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.5 (2025-05-29)
|
|
26
|
+
- (arteck) add additional folder for some devices (like smoke detector)
|
|
27
|
+
- (arteck) state.js cleanup
|
|
28
|
+
- (arteck) set available State to true if device message include last_seen status
|
|
29
|
+
|
|
25
30
|
### 3.0.4 (2025-05-11)
|
|
26
31
|
- (arteck) update admin
|
|
27
32
|
|
|
@@ -44,6 +44,7 @@
|
|
|
44
44
|
"Time of the automatic check": "Zeitpunkt der automatischen Prüfung",
|
|
45
45
|
"More information": "Mehr Informationen",
|
|
46
46
|
"Expert Settings. Please only use if you know what you're doing": "Expert Einstellungen. Bitte nur verwenden, wenn Du weisst was du machst",
|
|
47
|
-
"Allways update state for occupancy when message arrives from zigbee2mqtt server (Only for true state). Increases load on ioBroker System" : "Aktualisiert immer den Status für die Bewegung, wenn eine Nachricht vom zigbee2mqtt-Server eintrifft (nur bei true). Erhöht die Last auf dem ioBroker"
|
|
47
|
+
"Allways update state for occupancy when message arrives from zigbee2mqtt server (Only for true state). Increases load on ioBroker System" : "Aktualisiert immer den Status für die Bewegung, wenn eine Nachricht vom zigbee2mqtt-Server eintrifft (nur bei true). Erhöht die Last auf dem ioBroker",
|
|
48
|
+
"Allways update available state when message included last_seen status": "Aktualisiert immer den available Status, wenn die Nachricht last_seen Status enthält"
|
|
48
49
|
|
|
49
50
|
}
|
|
@@ -44,5 +44,6 @@
|
|
|
44
44
|
"Time of the automatic check": "Time of the automatic check",
|
|
45
45
|
"More information": "More information",
|
|
46
46
|
"Expert Settings. Please only use if you know what you're doing": "Expert Settings. Please only use if you know what you're doing",
|
|
47
|
-
"Allways update state for occupancy when message arrives from zigbee2mqtt server (Only for true state). Increases load on ioBroker System" : "Allways update state for occupancy when message arrives from zigbee2mqtt server (Only for true state). Increases load on ioBroker System"
|
|
47
|
+
"Allways update state for occupancy when message arrives from zigbee2mqtt server (Only for true state). Increases load on ioBroker System" : "Allways update state for occupancy when message arrives from zigbee2mqtt server (Only for true state). Increases load on ioBroker System",
|
|
48
|
+
"Allways update available state when message included last_seen status": "Allways update available state when message included last_seen status"
|
|
48
49
|
}
|
|
@@ -42,5 +42,6 @@
|
|
|
42
42
|
"Automatic check for missing routers in the coordinator memory.": "Vérification automatique des routeurs manquants dans la mémoire du coordinateur.",
|
|
43
43
|
"With which log level should a negative search be logged?": "Avec quel niveau de journalisation une recherche négative doit-elle être enregistrée ?",
|
|
44
44
|
"Time of the automatic check": "Heure du contrôle automatique",
|
|
45
|
-
"More information": "Plus d'information"
|
|
45
|
+
"More information": "Plus d'information",
|
|
46
|
+
"Allways update available state when message included last_seen status": "Mettre à jour l'état disponible lorsque le message inclut le statut last_seen"
|
|
46
47
|
}
|
|
@@ -42,5 +42,6 @@
|
|
|
42
42
|
"Automatic check for missing routers in the coordinator memory.": "Controllo automatico della presenza di router mancanti nella memoria del coordinatore.",
|
|
43
43
|
"With which log level should a negative search be logged?": "Con quale livello di registro deve essere registrata una ricerca negativa?",
|
|
44
44
|
"Time of the automatic check": "Orario del controllo automatico",
|
|
45
|
-
"More information": "Maggiori informazioni"
|
|
45
|
+
"More information": "Maggiori informazioni",
|
|
46
|
+
"Allways update available state when message included last_seen status": "Aggiorna sempre lo stato disponibile quando il messaggio include lo stato last_seen"
|
|
46
47
|
}
|
|
@@ -42,5 +42,6 @@
|
|
|
42
42
|
"Automatic check for missing routers in the coordinator memory.": "Automatische controle op ontbrekende routers in het coördinatorgeheugen.",
|
|
43
43
|
"With which log level should a negative search be logged?": "Met welk logniveau moet een negatieve zoekopdracht worden geregistreerd?",
|
|
44
44
|
"Time of the automatic check": "Tijdstip van de automatische controle",
|
|
45
|
-
"More information": "Meer informatie"
|
|
45
|
+
"More information": "Meer informatie",
|
|
46
|
+
"Allways update available state when message included last_seen status": "Altijd de beschikbare status bijwerken wanneer het bericht de last_seen-status bevat"
|
|
46
47
|
}
|
|
@@ -42,5 +42,6 @@
|
|
|
42
42
|
"Automatic check for missing routers in the coordinator memory.": "Automatyczne sprawdzanie brakujących routerów w pamięci koordynatora.",
|
|
43
43
|
"With which log level should a negative search be logged?": "Na jakim poziomie rejestrowania należy rejestrować wyszukiwanie wykluczające?",
|
|
44
44
|
"Time of the automatic check": "Czas automatycznego sprawdzenia",
|
|
45
|
-
"More information": "Więcej informacji"
|
|
45
|
+
"More information": "Więcej informacji",
|
|
46
|
+
"Allways update available state when message included last_seen status": "Zawsze aktualizuj available stan, gdy wiadomość zawiera status last_seen"
|
|
46
47
|
}
|
|
@@ -42,5 +42,6 @@
|
|
|
42
42
|
"Automatic check for missing routers in the coordinator memory.": "Verificação automática de roteadores ausentes na memória do coordenador.",
|
|
43
43
|
"With which log level should a negative search be logged?": "Com qual nível de log uma pesquisa negativa deve ser registrada?",
|
|
44
44
|
"Time of the automatic check": "Hora da verificação automática",
|
|
45
|
-
"More information": "Mais Informações"
|
|
45
|
+
"More information": "Mais Informações",
|
|
46
|
+
"Allways update available state when message included last_seen status": "Sempre atualize o estado disponível quando a mensagem incluir o status last_seen"
|
|
46
47
|
}
|
|
@@ -42,5 +42,6 @@
|
|
|
42
42
|
"Automatic check for missing routers in the coordinator memory.": "Автоматическая проверка отсутствия роутеров в памяти координатора.",
|
|
43
43
|
"With which log level should a negative search be logged?": "На каком уровне журнала следует регистрировать отрицательный поиск?",
|
|
44
44
|
"Time of the automatic check": "Время автоматической проверки",
|
|
45
|
-
"More information": "Больше информации"
|
|
45
|
+
"More information": "Больше информации",
|
|
46
|
+
"Allways update available state when message included last_seen status": "Всегда обновляйте доступное состояние, когда сообщение включает статус last_seen"
|
|
46
47
|
}
|
|
@@ -42,5 +42,6 @@
|
|
|
42
42
|
"Automatic check for missing routers in the coordinator memory.": "Автоматична перевірка відсутності роутерів в пам'яті координатора.",
|
|
43
43
|
"With which log level should a negative search be logged?": "На якому рівні журналу слід реєструвати негативний пошук?",
|
|
44
44
|
"Time of the automatic check": "Час автоматичної перевірки",
|
|
45
|
-
"More information": "Більше інформації"
|
|
45
|
+
"More information": "Більше інформації",
|
|
46
|
+
"Allways update available state when message included last_seen status": "Завжди оновлюйте доступний стан, коли повідомлення містить статус last_seen"
|
|
46
47
|
}
|
|
@@ -42,5 +42,6 @@
|
|
|
42
42
|
"Automatic check for missing routers in the coordinator memory.": "自动检查协调器内存中丢失的路由器。",
|
|
43
43
|
"With which log level should a negative search be logged?": "应该使用哪个日志级别来记录负面搜索?",
|
|
44
44
|
"Time of the automatic check": "自动检查时间",
|
|
45
|
-
"More information": "更多信息"
|
|
45
|
+
"More information": "更多信息",
|
|
46
|
+
"Allways update available state when message included last_seen status": "当消息包含 last_seen 状态时,总是更新可用状态",
|
|
46
47
|
}
|
package/admin/jsonConfig.json
CHANGED
|
@@ -424,6 +424,11 @@
|
|
|
424
424
|
"type": "checkbox",
|
|
425
425
|
"label": "Allways update state for occupancy when message arrives from zigbee2mqtt server (Only for true state). Increases load on ioBroker System",
|
|
426
426
|
"newLine": true
|
|
427
|
+
},
|
|
428
|
+
"allwaysUpdateAvailableState": {
|
|
429
|
+
"type": "checkbox",
|
|
430
|
+
"label": "Allways update available state when message included last_seen status",
|
|
431
|
+
"newLine": true
|
|
427
432
|
}
|
|
428
433
|
}
|
|
429
434
|
}
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,21 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "zigbee2mqtt",
|
|
4
|
-
"version": "3.0.
|
|
4
|
+
"version": "3.0.5",
|
|
5
5
|
"news": {
|
|
6
|
+
"3.0.5": {
|
|
7
|
+
"en": "add additional folder for some devices (like smoke detector)\nstate.js cleanup\nset available State to true if device message include last_seen status",
|
|
8
|
+
"de": "zusätzliche ordner für einige geräte hinzufügen (wie rauchmelder)\nstate.js cleanup\neingestellt verfügbar Zustand, um wahr zu sein, wenn die Gerätenachricht last_seen status enthält",
|
|
9
|
+
"ru": "добавьте дополнительную папку для некоторых устройств (например, детектор дыма)\nочистка state.js\nустановленное состояние истинно, если сообщение устройства включает в себя статус last_seen",
|
|
10
|
+
"pt": "adicionar pasta adicional para alguns dispositivos (como detector de fumaça)\nlimpeza state.js\nset available Estado para true se a mensagem do dispositivo incluir status last_seen",
|
|
11
|
+
"nl": "extra map toevoegen voor sommige apparaten (zoals rookmelder)\nstate.js opruimen\nbeschikbare status instellen op true als apparaatbericht laatste_geziene status bevat",
|
|
12
|
+
"fr": "ajouter un dossier supplémentaire pour certains appareils (comme le détecteur de fumée)\nétat.js nettoyage\ndéfinir l'État disponible à true si le message de périphérique inclut le statut last_seen",
|
|
13
|
+
"it": "aggiungere cartella aggiuntiva per alcuni dispositivi (come rilevatore di fumo)\nstato.js pulizia\nse il messaggio del dispositivo include lo stato di last_seen",
|
|
14
|
+
"es": "añadir carpeta adicional para algunos dispositivos (como detector de humos)\nestado.js limpieza\nestado disponible para ver si el mensaje del dispositivo incluye el estado de último visto",
|
|
15
|
+
"pl": "dodaj dodatkowy folder dla niektórych urządzeń (np. czujnik dymu)\nstan. js cleanup\nustaw dostępny stan na true jeśli wiadomość urządzenia zawiera status last _ seen",
|
|
16
|
+
"uk": "додати додаткову папку для деяких пристроїв (наприклад, детектор диму)\nстан.js cleanup\nвстановити доступну державу, якщо повідомлення про пристрій включають статус останнього_seen",
|
|
17
|
+
"zh-cn": "为一些设备添加额外的文件夹( 如烟雾探测器)\n状态.js 清理\n如果设备消息包含最后的_ Seenn 状态, 将可用状态设定为 true"
|
|
18
|
+
},
|
|
6
19
|
"3.0.4": {
|
|
7
20
|
"en": "update admin",
|
|
8
21
|
"de": "admin",
|
|
@@ -80,19 +93,6 @@
|
|
|
80
93
|
"pl": "corr package.json",
|
|
81
94
|
"uk": "english, українська, français..",
|
|
82
95
|
"zh-cn": "corr 软件包.json"
|
|
83
|
-
},
|
|
84
|
-
"2.13.10": {
|
|
85
|
-
"en": "update dependecy\nadd available object for groups",
|
|
86
|
-
"de": "aktualisierung abhängigkeit\nobjekt für gruppen hinzufügen",
|
|
87
|
-
"ru": "обновление\nдобавить доступный объект для групп",
|
|
88
|
-
"pt": "atualização\nadicionar objeto disponível para grupos",
|
|
89
|
-
"nl": "afhankelijkheid bijwerken\nbeschikbaar object voor groepen toevoegen",
|
|
90
|
-
"fr": "mettre à jour la dépendance\najouter un objet disponible pour les groupes",
|
|
91
|
-
"it": "aggiornamento dipendenza\naggiungere oggetto disponibile per gruppi",
|
|
92
|
-
"es": "dependencia de actualización\nañadir objeto disponible para grupos",
|
|
93
|
-
"pl": "aktualizacja zależności\ndodaj dostępny obiekt dla grup",
|
|
94
|
-
"uk": "оновлення залежності\nдодати доступний об'єкт для груп",
|
|
95
|
-
"zh-cn": "更新依赖性\n为组添加可用对象"
|
|
96
96
|
}
|
|
97
97
|
},
|
|
98
98
|
"messages": [
|
|
@@ -228,7 +228,8 @@
|
|
|
228
228
|
{
|
|
229
229
|
"admin": ">=6.6.14"
|
|
230
230
|
}
|
|
231
|
-
]
|
|
231
|
+
],
|
|
232
|
+
"installedFrom": "iobroker.zigbee2mqtt@3.0.4"
|
|
232
233
|
},
|
|
233
234
|
"native": {
|
|
234
235
|
"connectionType": "ws",
|
|
@@ -263,7 +264,8 @@
|
|
|
263
264
|
"coordinatorCheck": false,
|
|
264
265
|
"coordinatorCheckLogLvl": "info",
|
|
265
266
|
"coordinatorCheckCron": "0 3 * * *",
|
|
266
|
-
"allwaysUpdateOccupancyState": false
|
|
267
|
+
"allwaysUpdateOccupancyState": false,
|
|
268
|
+
"allwaysUpdateAvailableState": false
|
|
267
269
|
},
|
|
268
270
|
"protectedNative": [
|
|
269
271
|
"externalMqttServerPassword",
|
package/lib/deviceController.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
const
|
|
1
|
+
const statesDefs = require('./states').states;
|
|
2
2
|
const createDeviceFromExposes = require('./exposes').createDeviceFromExposes;
|
|
3
3
|
const utils = require('./utils');
|
|
4
4
|
const colors = require('./colors.js');
|
|
@@ -55,10 +55,10 @@ class DeviceController {
|
|
|
55
55
|
icon: undefined, // await imageController.getDeviceIcon(devicesMessag), device.definition.model
|
|
56
56
|
optionsValues: {},
|
|
57
57
|
states: [
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
58
|
+
statesDefs.available,
|
|
59
|
+
statesDefs.brightness,
|
|
60
|
+
statesDefs.colortemp_move,
|
|
61
|
+
statesDefs.transition,
|
|
62
62
|
{
|
|
63
63
|
id: 'state',
|
|
64
64
|
prob: 'state',
|
package/lib/exposes.js
CHANGED
|
@@ -1144,7 +1144,7 @@ async function createDeviceFromExposes(devicesMessag, adapter) {
|
|
|
1144
1144
|
break;
|
|
1145
1145
|
|
|
1146
1146
|
case 'battery_low':
|
|
1147
|
-
state = statesDefs.
|
|
1147
|
+
state = statesDefs.batt_low_t_f;
|
|
1148
1148
|
break;
|
|
1149
1149
|
|
|
1150
1150
|
case 'tamper':
|
|
@@ -1152,7 +1152,7 @@ async function createDeviceFromExposes(devicesMessag, adapter) {
|
|
|
1152
1152
|
break;
|
|
1153
1153
|
|
|
1154
1154
|
case 'water_leak':
|
|
1155
|
-
state = statesDefs.
|
|
1155
|
+
state = statesDefs.water_leak;
|
|
1156
1156
|
break;
|
|
1157
1157
|
|
|
1158
1158
|
case 'lock':
|
|
@@ -1220,10 +1220,10 @@ async function createDeviceFromExposes(devicesMessag, adapter) {
|
|
|
1220
1220
|
pushToStates(statesDefs.climate_running_mode, prop.access);
|
|
1221
1221
|
break;
|
|
1222
1222
|
case 'local_temperature':
|
|
1223
|
-
pushToStates(statesDefs.
|
|
1223
|
+
pushToStates(statesDefs.local_temperature, prop.access);
|
|
1224
1224
|
break;
|
|
1225
1225
|
case 'local_temperature_calibration':
|
|
1226
|
-
pushToStates(statesDefs.
|
|
1226
|
+
pushToStates(statesDefs.local_temperature_calibration, prop.access);
|
|
1227
1227
|
break;
|
|
1228
1228
|
default:
|
|
1229
1229
|
{
|