iobroker.sonoff 2.5.7 → 3.0.3

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
@@ -122,6 +122,9 @@ States:
122
122
  ### **WORK IN PROGRESS**
123
123
  -->
124
124
  ## Changelog
125
+ ### 3.0.3 (2023-09-25)
126
+ * (bluefox/Bettman66) Added migration of password on JSON Config
127
+
125
128
  ### 2.5.7 (2023-07-07)
126
129
  * (mcm1957) Disabled the logging of username and password during connection errors
127
130
  * (bluefox) added json config
@@ -1,54 +1,54 @@
1
1
  {
2
- "Adapter settings": "Sonoff Einstellungen",
3
- "Authentication settings": "Authentifizierungseinstellungen",
4
- "Auto creation of states": "Automatische Erstellung von Zuständen",
5
- "Chained certificate:": "Kettenzertifikat",
6
- "Client": "Client/subscriber",
7
- "Client ID:": "Client ID",
8
- "Connection": "Verbindung",
9
- "Connection settings": "Verbindungseinstellungen",
10
- "Divided by comma": "Mit Komma getrennt, z.B 'mqtt/0/#,javascript/#'",
11
- "For stat/RESULT": "Für stat/RESULT",
12
- "For tele/SENSOR": "Für tele/SENSOR",
13
- "For tele/STATE": "Für tele/STATE",
14
- "IP": "IP-Adresse",
15
- "Ignore warnings with pingreq": "Warnungen mit pingreq ignorieren",
16
- "Interval before send topics by connection:": "Interval vom Senden von allen Topics bei der Verbindung",
17
- "Main settings": "Haupteinstellungen",
18
- "Mask to publish": "z.B 'mqtt.0.*,javascript.*'",
19
- "Mask to publish own states:": "Maske für Bekanntgeben von eigenen States",
20
- "Max topic length:": "Maximale Topicnamelänge",
21
- "Password confirmation:": "Passwort-Wiederholung",
22
- "Password:": "Passwort",
23
- "Patterns:": "Subscribe patterns",
24
- "Port:": "Port",
25
- "Prefix for topics:": "Prefix für alle Topics",
26
- "Private certificate:": "Privates Zertifikat",
27
- "Public certificate:": "Publikzertifikat",
28
- "Publish all states at start:": "Bekanntgeben eigene States beim Verbinden",
29
- "Publish states on subscribe:": "Bekanntgeben von States bei Subscribe",
30
- "Result: ": "Ergebnis ",
31
- "Secure:": "SSL",
32
- "Send interval:": "Sendeintervall",
33
- "Send states (ack=true) too:": "Sende auch Zustände (ack=true)",
34
- "Server": "Server/broker",
35
- "Set certificates or load it first in the system settings (right top).": "Setze Zertificate oder lade die erst unter System/Einstellungen (oben rechts).",
36
- "Sonoff Settings": "Sonoff Einstellungen",
37
- "Sonoff adapter settings": "Sonoff Adapter-Einstellungen",
38
- "Store only on change:": "Publish nur bei Änderung",
39
- "Test connection": "Teste Verbindung zum Server",
40
- "Trace output for every message:": "Trace Ausgabe für jede Meldung",
41
- "Type:": "Typ",
42
- "URL:": "URL",
43
- "Use WebSockets:": "Benutze auch WebSockets",
44
- "Use chunk patch:": "Benutze Patch für Chunking",
45
- "Use different topic names for set and get:": "Unterschiedliche Namen für setzten und lesen",
46
- "User:": "Benutzer",
47
- "chars": "Symbolen",
48
- "connected": "verbunden",
49
- "ms": "ms",
50
- "Client timeout": "Client-Timeout",
51
- "Create object tree": "Objektbaum erstellen",
52
- "WARNING! Check README.md!": "WARNUNG! Überprüfen Sie README.md!",
53
- "Other settings": "Andere Einstellungen"
54
- }
2
+ "Adapter settings": "Sonoff Einstellungen",
3
+ "Authentication settings": "Authentifizierungseinstellungen",
4
+ "Auto creation of states": "Automatische Erstellung von Zuständen",
5
+ "Chained certificate:": "Verkettetes Zertifikat",
6
+ "Client": "Client/subscriber",
7
+ "Client ID:": "Client ID",
8
+ "Connection": "Verbindung",
9
+ "Connection settings": "Verbindungseinstellungen",
10
+ "Divided by comma": "Mit Komma getrennt, z.B 'mqtt/0/#,javascript/#'",
11
+ "For stat/RESULT": "Für stat/RESULT",
12
+ "For tele/SENSOR": "Für tele/SENSOR",
13
+ "For tele/STATE": "Für tele/STATE",
14
+ "IP": "IP-Adresse",
15
+ "Ignore warnings with pingreq": "Warnungen mit pingreq ignorieren",
16
+ "Interval before send topics by connection:": "Interval vom Senden von allen Topics bei der Verbindung",
17
+ "Main settings": "Haupteinstellungen",
18
+ "Mask to publish": "z.B 'mqtt.0.*,javascript.*'",
19
+ "Mask to publish own states:": "Maske für Bekanntgeben von eigenen States",
20
+ "Max topic length:": "Maximale Topicnamelänge",
21
+ "Password confirmation:": "Passwort-Wiederholung",
22
+ "Password:": "Passwort",
23
+ "Patterns:": "Subscribe patterns",
24
+ "Port:": "Port",
25
+ "Prefix for topics:": "Prefix für alle Topics",
26
+ "Private certificate:": "Privates Zertifikat",
27
+ "Public certificate:": "Publikzertifikat",
28
+ "Publish all states at start:": "Bekanntgeben eigene States beim Verbinden",
29
+ "Publish states on subscribe:": "Bekanntgeben von States bei Subscribe",
30
+ "Result: ": "Ergebnis ",
31
+ "Secure:": "SSL",
32
+ "Send interval:": "Sendeintervall",
33
+ "Send states (ack=true) too:": "Sende auch Zustände (ack=true)",
34
+ "Server": "Server/broker",
35
+ "Set certificates or load it first in the system settings (right top).": "Setze Zertificate oder lade die erst unter System/Einstellungen (oben rechts).",
36
+ "Sonoff Settings": "Sonoff Einstellungen",
37
+ "Sonoff adapter settings": "Sonoff Adapter-Einstellungen",
38
+ "Store only on change:": "Publish nur bei Änderung",
39
+ "Test connection": "Teste Verbindung zum Server",
40
+ "Trace output for every message:": "Trace Ausgabe für jede Meldung",
41
+ "Type:": "Typ",
42
+ "URL:": "URL",
43
+ "Use WebSockets:": "Benutze auch WebSockets",
44
+ "Use chunk patch:": "Benutze Patch für Chunking",
45
+ "Use different topic names for set and get:": "Unterschiedliche Namen für setzten und lesen",
46
+ "User:": "Benutzer",
47
+ "chars": "Symbolen",
48
+ "connected": "verbunden",
49
+ "ms": "ms",
50
+ "Client timeout": "Client-Timeout",
51
+ "Create object tree": "Objektbaum erstellen",
52
+ "WARNING! Check README.md!": "WARNUNG! Überprüfen Sie README.md!",
53
+ "Other settings": "Andere Einstellungen"
54
+ }
@@ -50,7 +50,7 @@
50
50
  "md": 4,
51
51
  "lg": 2
52
52
  },
53
- "pass": {
53
+ "password": {
54
54
  "sm": 12,
55
55
  "md": 8,
56
56
  "lg": 4,
package/admin/words.js CHANGED
@@ -5,13 +5,11 @@ systemDictionary = {
5
5
  "Adapter settings": { "en": "Sonoff settings", "de": "Sonoff Einstellungen", "ru": "Настройки Sonoff", "pt": "Configurações de Sonoff", "nl": "Configurações de Sonoff", "fr": "Paramètres Sonoff", "it": "Impostazioni Sonoff", "es": "Configuraciones Sonoff", "pl": "Ustawienia Sonoff", "zh-cn": "Sonoff设置"},
6
6
  "Authentication settings": { "en": "Authentication settings", "de": "Authentifizierungseinstellungen", "ru": "Настройки аутентификации", "pt": "Configurações de autenticação", "nl": "Configurações de autenticação", "fr": "Paramètres d'authentification", "it": "Impostazioni di autenticazione", "es": "Configuraciones de autenticación", "pl": "Ustawienia uwierzytelniania", "zh-cn": "验证设定"},
7
7
  "Auto creation of states": { "en": "Auto creation of states", "de": "Automatische Erstellung von Zuständen", "ru": "Auto creation of states", "pt": "Criação automática de estados", "nl": "Automatisch creëren van staten", "fr": "Création automatique d'états", "it": "Creazione automatica di stati", "es": "Creación automática de estados", "pl": "Automatyczne tworzenie stanów", "zh-cn": "自动创建状态"},
8
- "Chained certificate:": { "en": "Chained certificate", "de": "Kettenzertifikat", "ru": "'Chained' сертификат", "pt": "Certificado acorrentado", "nl": "Certificado acorrentado", "fr": "Certificat chaîné", "it": "Certificato incatenato", "es": "Certificado encadenado", "pl": "Przykuty certyfikat", "zh-cn": "连锁证书"},
8
+ "Chained certificate:": { "en": "Chained certificate", "de": "Verkettetes Zertifikat", "ru": "'Chained' сертификат", "pt": "Certificado acorrentado", "nl": "Certificado acorrentado", "fr": "Certificat chaîné", "it": "Certificato incatenato", "es": "Certificado encadenado", "pl": "Przykuty certyfikat", "zh-cn": "连锁证书"},
9
9
  "Client": { "en": "Client/subscriber", "de": "Client/subscriber", "ru": "Клиент/подписчик", "pt": "Cliente / assinante", "nl": "Cliente/assinante", "fr": "Client/abonné", "it": "Client/abbonato", "es": "Cliente/suscriptor", "pl": "Klient / subskrybent", "zh-cn": "客户/订户"},
10
10
  "Client ID:": { "en": "Client ID", "de": "Client ID", "ru": "ID Клиента", "pt": "ID do Cliente", "nl": "ID do Cliente", "fr": "identité du client", "it": "Identificativo cliente", "es": "Identificación del cliente", "pl": "Identyfikator klienta", "zh-cn": "客户编号"},
11
- "Client timeout (sec):": { "en": "Client timeout (sec)", "de": "Client-Zeitüberschreitung (in Sek.)", "ru": "Client timeout (sec):", "pt": "Tempo limite do cliente (seg)", "nl": "Clienttimeout (sec)", "fr": "Délai d'expiration du client (sec)", "it": "Timeout del client (sec)", "es": "Tiempo de espera del cliente (seg)", "pl": "Limit czasu klienta (s)", "zh-cn": "客户端超时(秒)"},
12
11
  "Connection": { "en": "Connection", "de": "Verbindung", "ru": "Соединение", "pt": "Conexão", "nl": "Conexão", "fr": "Connexion", "it": "Connessione", "es": "Conexión", "pl": "Połączenie", "zh-cn": "连接"},
13
12
  "Connection settings": { "en": "Connection settings", "de": "Verbindungseinstellungen", "ru": "Настройки соединения", "pt": "Configurações de conexão", "nl": "Configurações de conexão", "fr": "Paramètres de connexion", "it": "Impostazioni di connessione", "es": "Configuración de conexión", "pl": "Ustawienia połączenia", "zh-cn": "连接设定"},
14
- "Create object tree (WARNING! Check README.md!)": {"en": "Create object tree (WARNING! Check README.md!)", "de": "Objektbaum erstellen (WARNUNG! Bitte README.md lesen!)", "ru": "Создать дерево объектов", "pt": "Criar árvore de objetos", "nl": "Maak een objectboom", "fr": "Créer une arborescence d'objets", "it": "Crea albero degli oggetti", "es": "Crear árbol de objetos", "pl": "Utwórz drzewo obiektów", "zh-cn": "创建对象树"},
15
13
  "Divided by comma": { "en": "Divided by comma, e.g. 'mqtt/0/#,javascript/#'", "de": "Mit Komma getrennt, z.B 'mqtt/0/#,javascript/#'", "ru": "Использовать запятую, как разделитеть. Например 'mqtt/0/#,javascript/#'", "pt": "Dividido por vírgula, e. 'mqtt / 0 / #, javascript / #'", "nl": "Dividido por vírgula, e. 'mqtt/0/#, javascript/#'", "fr": "Divisé par une virgule, par ex. 'mqtt/0/#, javascript/#'", "it": "Diviso in virgola, ad es. 'MQTT/0/#, JavaScript/#'", "es": "Dividido por coma, p. 'mqtt/0/#, javascript/#'", "pl": "Podzielone przecinkiem, np. \"mqtt / 0 / #, javascript / # '", "zh-cn": "除以逗号,例如 'mqtt/0/#,javascript/#'"},
16
14
  "For stat/RESULT": { "en": "For stat/RESULT", "de": "Für stat/RESULT", "ru": "Для stat/RESULT", "pt": "Para stat/RESULT", "nl": "Voor stat/RESULT", "fr": "Pour stat/RESULT", "it": "Per stat/RESULT", "es": "Por stat/RESULT", "pl": "Dla stat/RESULT", "zh-cn": "对于统计/结果"},
17
15
  "For tele/SENSOR": { "en": "For tele/SENSOR", "de": "Für tele/SENSOR", "ru": "Для tele/SENSOR", "pt": "Para tele/SENSOR", "nl": "Voor tele/SENSOR", "fr": "Pour tele/SENSOR", "it": "Per tele/SENSOR", "es": "Por tele/SENSOR", "pl": "Dla tele/SENSOR", "zh-cn": "对于电话/传感器"},
@@ -52,4 +50,8 @@ systemDictionary = {
52
50
  "chars": { "en": "chars", "de": "Symbolen", "ru": "символов", "pt": "caracteres", "nl": "caracteres", "fr": "chars", "it": "caratteri", "es": "caracteres", "pl": "znaki", "zh-cn": "字符"},
53
51
  "connected": { "en": "connected", "de": "verbunden", "ru": "успешно", "pt": "conectado", "nl": "conectado", "fr": "connecté", "it": "collegato", "es": "conectado", "pl": "połączony", "zh-cn": "连接的"},
54
52
  "ms": { "en": "ms", "de": "ms", "ru": "мс", "pt": "Senhora", "nl": "Senhora", "fr": "Mme", "it": "Signorina", "es": "Sra", "pl": "ms", "zh-cn": "毫秒"},
53
+ "Client timeout": { "en": "Client timeout", "de": "Client-Timeout", "ru": "Время ожидания клиента", "pt": "Tempo limite do cliente", "nl": "Client time-out", "fr": "Délai d'expiration du client", "it": "Timeout del cliente", "es": "tiempo de espera del cliente", "pl": "Limit czasu klienta", "zh-cn": "客户端超时"},
54
+ "Create object tree": { "en": "Create object tree", "de": "Objektbaum erstellen", "ru": "Создать дерево объектов", "pt": "Criar árvore de objetos", "nl": "Maak een objectboom", "fr": "Créer une arborescence d'objets", "it": "Crea l'albero degli oggetti", "es": "Crear árbol de objetos", "pl": "Utwórz drzewo obiektów", "zh-cn": "创建对象树"},
55
+ "WARNING! Check README.md!": { "en": "WARNING! Check README.md!", "de": "WARNUNG! Überprüfen Sie README.md!", "ru": "ПРЕДУПРЕЖДЕНИЕ! Проверьте README.md!", "pt": "AVISO! Verifique README.md!", "nl": "WAARSCHUWING! Controleer README.md!", "fr": "AVERTISSEMENT! Vérifiez README.md!", "it": "AVVERTIMENTO! Controlla README.md!", "es": "¡ADVERTENCIA! ¡Compruebe README.md!", "pl": "OSTRZEŻENIE! Sprawdź README.md!", "zh-cn": "警告!检查 README.md!"},
56
+ "Other settings": { "en": "Other settings", "de": "Andere Einstellungen", "ru": "Другие настройки", "pt": "Outros ajustes", "nl": "Andere instellingen", "fr": "Autres réglages", "it": "Altre impostazioni", "es": "Otros ajustes", "pl": "Inne ustawienia", "zh-cn": "其他设置"},
55
57
  };
package/io-package.json CHANGED
@@ -1,8 +1,21 @@
1
1
  {
2
2
  "common": {
3
3
  "name": "sonoff",
4
- "version": "2.5.7",
4
+ "version": "3.0.3",
5
5
  "news": {
6
+ "3.0.3": {
7
+ "en": "Added migration of password on JSON Config",
8
+ "de": "Migration von Passwort auf JSON Config hinzugefügt",
9
+ "ru": "Добавлена миграция пароля на JSON Config",
10
+ "pt": "Adicionado migração de senha em JSON Config",
11
+ "nl": "Vermelding van wachtwoord op JSON Config",
12
+ "fr": "Ajout de la migration de mot de passe sur JSON Config",
13
+ "it": "Aggiunta migrazione di password su JSON Config",
14
+ "es": "Migración agregada de contraseña en JSON Config",
15
+ "pl": "Dostęp do migracji haseł JSON Config",
16
+ "uk": "Додано міграції пароля на JSON Config",
17
+ "zh-cn": "A. 增加联索行动密码的移徙"
18
+ },
6
19
  "2.5.7": {
7
20
  "en": "Disabled the logging of username and password during connection errors\nadded json config",
8
21
  "de": "Deaktiviert die Protokollierung von Benutzername und Passwort während der Verbindungsfehler\nadd json config",
@@ -76,18 +89,6 @@
76
89
  "es": "Solucione algunos casos de bloqueo informados por Sentry (IOBROKER-SONOFF-B, IOBROKER-SONOFF-R, IOBROKER-SONOFF-4, IOBROKER-SONOFF-1, IOBROKER-SONOFF-13, IOBROKER-SONOFF-1J, IOBROKER-SONOFF-16, IOBROKER-SONOFF-3, IOBROKER-SONOFF-H)\nAjuste el tiempo de actividad a mixto porque parece que puede ser un número o una cadena",
77
90
  "pl": "Napraw niektóre przypadki awarii zgłaszane przez Sentry (IOBROKER-SONOFF-B, IOBROKER-SONOFF-R, IOBROKER-SONOFF-4, IOBROKER-SONOFF-1, IOBROKER-SONOFF-13, IOBROKER-SONOFF-1J, IOBROKER-SONOFF-16, IOBROKER-SONOFF-3, IOBROKER-SONOFF-H)\nDostosuj Uptime do mieszanego, ponieważ wydaje się, że może to być liczba lub ciąg",
78
91
  "zh-cn": "修复 Sentry 报告的一些崩溃案例(IOBROKER-SONOFF-B、IOBROKER-SONOFF-R、IOBROKER-SONOFF-4、IOBROKER-SONOFF-1、IOBROKER-SONOFF-13、IOBROKER-SONOFF-1J、IOBROKER-SONOFF-16、 IOBROKER-SONOFF-3、IOBROKER-SONOFF-H)\n将 Uptime 调整为混合,因为它似乎可以是数字或字符串"
79
- },
80
- "2.4.5": {
81
- "en": "Fix some crash cases reported by Sentry",
82
- "de": "Beheben Sie einige von Sentry gemeldete Absturzfälle",
83
- "ru": "Исправить некоторые случаи сбоев, о которых сообщает Sentry",
84
- "pt": "Corrija alguns casos de falha relatados pelo Sentry",
85
- "nl": "Enkele crashgevallen gemeld door Sentry oplossen",
86
- "fr": "Correction de certains cas de plantage signalés par Sentry",
87
- "it": "Risolti alcuni casi di crash segnalati da Sentry",
88
- "es": "Arregle algunos casos de fallas reportados por Sentry",
89
- "pl": "Napraw niektóre przypadki awarii zgłoszone przez Sentry",
90
- "zh-cn": "修复 Sentry 报告的一些崩溃案例"
91
92
  }
92
93
  },
93
94
  "title": "Sonoff",
@@ -152,11 +153,17 @@
152
153
  }
153
154
  }
154
155
  },
156
+ "encryptedNative": [
157
+ "password"
158
+ ],
159
+ "protectedNative": [
160
+ "password"
161
+ ],
155
162
  "native": {
156
163
  "port": 1883,
157
164
  "bind": "0.0.0.0",
158
165
  "user": "",
159
- "pass": "",
166
+ "password": "",
160
167
  "timeout": 300,
161
168
  "TELE_SENSOR": true,
162
169
  "TELE_STATE": false,
package/lib/server.js CHANGED
@@ -3,10 +3,10 @@
3
3
  const mqtt = require('mqtt-connection');
4
4
  const net = require('net');
5
5
  const types = require('./datapoints');
6
- //const memwatch = require('memwatch-next');
7
- //const heapdump = require('heapdump');
6
+ // const memwatch = require('memwatch-next');
7
+ // const heapdump = require('heapdump');
8
8
  const hueCalc = true;
9
- //var heapTest = 0;
9
+ // var heapTest = 0;
10
10
  const FORBIDDEN_CHARS = /[\]\[*,;'"`<>\\?]/g;
11
11
  const mappingClients = {};
12
12
 
@@ -1454,7 +1454,7 @@ function MQTTServer(adapter) {
1454
1454
  options.password = options.password.toString();
1455
1455
  }
1456
1456
  if (config.user !== options.username ||
1457
- config.pass !== options.password) {
1457
+ config.password !== options.password) {
1458
1458
  adapter.log.warn(`Client [${client.id}] has invalid password or username`);
1459
1459
  client.connack({returnCode: 4});
1460
1460
  if (oldClient) {
@@ -1731,9 +1731,8 @@ function MQTTServer(adapter) {
1731
1731
  });
1732
1732
  });
1733
1733
 
1734
- server.on('error', err => {
1735
- adapter.log.error(`Can not start Server ${err}`);
1736
- });
1734
+ server.on('error', err =>
1735
+ adapter.log.error(`Can not start Server ${err}`));
1737
1736
 
1738
1737
  config.port = parseInt(config.port, 10) || 1883;
1739
1738
 
package/main.js CHANGED
@@ -25,23 +25,36 @@ function decrypt(key, value) {
25
25
 
26
26
  function startAdapter(options) {
27
27
  options = options || {};
28
- Object.assign(options, {name: adapterName});
28
+ Object.assign(options, { name: adapterName });
29
29
 
30
30
  adapter = new utils.Adapter(options);
31
31
 
32
32
  adapter.on('ready', () => {
33
- // it must be like this
34
-
35
- adapter.getForeignObject('system.config', (err, obj) => {
36
- if (obj && obj.native && obj.native.secret) {
37
- //noinspection JSUnresolvedVariable
38
- adapter.config.pass = decrypt(obj.native.secret, adapter.config.pass);
39
- } else {
40
- //noinspection JSUnresolvedVariable
41
- adapter.config.pass = decrypt('Zgfr56gFe87jJOM', adapter.config.pass);
42
- }
33
+ // delete pass if a password set
34
+ if (adapter.config.password && adapter.config.pass) {
35
+ // delete adapter.config.pass
36
+ adapter.getForeignObject(`system.adapter.${adapter.namespace}`, (err, config) => {
37
+ delete config.native.pass;
38
+ adapter.setForeignObject(config._id, config);
39
+ });
40
+ } else if (!adapter.config.password && adapter.config.pass) {
41
+ // migrate
42
+ adapter.getForeignObject('system.config', (err, systemConfig) => {
43
+ adapter.getForeignObject(`system.adapter.${adapter.namespace}`, (err, config) => {
44
+ if (systemConfig && systemConfig.native && systemConfig.native.secret) {
45
+ // noinspection JSUnresolvedVariable
46
+ config.native.password = decrypt(systemConfig.native.secret, adapter.config.pass);
47
+ } else {
48
+ // noinspection JSUnresolvedVariable
49
+ config.native.password = decrypt('Zgfr56gFe87jJOM', adapter.config.pass);
50
+ }
51
+ delete config.native.pass;
52
+ adapter.setForeignObject(config._id, config);
53
+ });
54
+ });
55
+ } else {
43
56
  main();
44
- });
57
+ }
45
58
  });
46
59
 
47
60
  adapter.on('unload', cb => {
@@ -53,7 +66,7 @@ function startAdapter(options) {
53
66
  }
54
67
  });
55
68
 
56
- // is called if a subscribed state changes
69
+ // called if the subscribed state changes itself
57
70
  adapter.on('stateChange', (id, state) => {
58
71
  adapter.log.debug(`stateChange ${id}: ${JSON.stringify(state)}`);
59
72
  // you can use the ack flag to detect if state is desired or acknowledged
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "iobroker.sonoff",
3
3
  "description": "The adapter allows to send and receive MQTT messages from ioBroker and to be a broker.",
4
- "version": "2.5.7",
4
+ "version": "3.0.3",
5
5
  "author": "bluefox <dogafox@gmail.com>",
6
6
  "homepage": "https://github.com/ioBroker/ioBroker.sonoff",
7
7
  "repository": {
@@ -17,18 +17,18 @@
17
17
  ],
18
18
  "dependencies": {
19
19
  "mqtt-connection": "^4.1.0",
20
- "@iobroker/adapter-core": "^2.6.8"
20
+ "@iobroker/adapter-core": "^3.0.3"
21
21
  },
22
22
  "devDependencies": {
23
23
  "@alcalzone/release-script": "^3.6.0",
24
24
  "@alcalzone/release-script-plugin-iobroker": "^3.6.0",
25
25
  "@alcalzone/release-script-plugin-license": "^3.5.9",
26
- "@iobroker/legacy-testing": "^0.3.6",
27
- "axios": "^1.4.0",
26
+ "@iobroker/legacy-testing": "^1.0.0",
27
+ "axios": "^1.5.0",
28
28
  "mqtt": "^4.3.7",
29
29
  "gulp": "^4.0.2",
30
30
  "mocha": "^10.2.0",
31
- "chai": "^4.3.7"
31
+ "chai": "^4.3.8"
32
32
  },
33
33
  "bugs": {
34
34
  "url": "https://github.com/ioBroker/ioBroker.sonoff/issues"