iobroker.sonoff 2.4.5 → 2.5.0
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/.github/workflows/test-and-release.yml +3 -3
- package/.mocharc.json +5 -0
- package/.releaseconfig.json +3 -0
- package/LICENSE +1 -1
- package/README.md +22 -1
- package/admin/words.js +6 -6
- package/io-package.json +186 -318
- package/lib/datapoints.js +1 -1
- package/lib/server.js +114 -98
- package/package.json +9 -7
|
@@ -30,7 +30,7 @@ jobs:
|
|
|
30
30
|
steps:
|
|
31
31
|
- uses: actions/checkout@v2.3.4
|
|
32
32
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
33
|
-
uses: actions/setup-node@
|
|
33
|
+
uses: actions/setup-node@v3
|
|
34
34
|
with:
|
|
35
35
|
node-version: ${{ matrix.node-version }}
|
|
36
36
|
|
|
@@ -62,7 +62,7 @@ jobs:
|
|
|
62
62
|
steps:
|
|
63
63
|
- uses: actions/checkout@v2.3.4
|
|
64
64
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
65
|
-
uses: actions/setup-node@
|
|
65
|
+
uses: actions/setup-node@v3
|
|
66
66
|
with:
|
|
67
67
|
node-version: ${{ matrix.node-version }}
|
|
68
68
|
|
|
@@ -99,7 +99,7 @@ jobs:
|
|
|
99
99
|
uses: actions/checkout@v2.3.4
|
|
100
100
|
|
|
101
101
|
- name: Use Node.js ${{ matrix.node-version }}
|
|
102
|
-
uses: actions/setup-node@
|
|
102
|
+
uses: actions/setup-node@v3
|
|
103
103
|
with:
|
|
104
104
|
node-version: ${{ matrix.node-version }}
|
|
105
105
|
|
package/.mocharc.json
ADDED
package/LICENSE
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
The MIT License (MIT)
|
|
2
2
|
|
|
3
|
-
Copyright (c) 2014-
|
|
3
|
+
Copyright (c) 2014-2022 bluefox <dogafox@gmail.com>
|
|
4
4
|
|
|
5
5
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
6
|
of this software and associated documentation files (the "Software"), to deal
|
package/README.md
CHANGED
|
@@ -11,6 +11,17 @@
|
|
|
11
11
|
|
|
12
12
|
**This adapter uses Sentry libraries to automatically report exceptions and code errors to the developers.** For more details and for information how to disable the error reporting see [Sentry-Plugin Documentation](https://github.com/ioBroker/plugin-sentry#plugin-sentry)! Sentry reporting is used starting with js-controller 3.0.
|
|
13
13
|
|
|
14
|
+
## Comparison of ioBroker adapters using MQTT protocol
|
|
15
|
+
If you only have Tasmotas speaking MQTT protocol go for ioBroker.sonoff. For other scenarios consider the different options:
|
|
16
|
+
||ioBroker.sonoff|[ioBroker.mqtt](https://github.com/ioBroker/ioBroker.mqtt/) (in broker mode)|[ioBroker.mqtt](https://github.com/ioBroker/ioBroker.mqtt/) (in client mode)|[ioBroker.mqtt-client](https://github.com/Pmant/ioBroker.mqtt-client/)|
|
|
17
|
+
|---|---|---|---|---|
|
|
18
|
+
|Has a built-in MQTT broker|yes|yes|no|no|
|
|
19
|
+
|Relays messages to other MQTT subscribers|NO!!!|yes|not aplicable|not aplicable|
|
|
20
|
+
|External MQTT broker|unsupported|unsupported|required|required|
|
|
21
|
+
|Tasmota MQTT messages to ioBroker Objects|smart processing|1:1 processing of all messages|1:1 processing of subscribed messages|1:1 processing of subscribed messages|
|
|
22
|
+
|non-Tasmota MQTT messages to ioBroker Objects|no processing|1:1 processing of all messages|1:1 processing of subscribed messages|1:1 processing of subscribed messages|
|
|
23
|
+
|publish ioBroker values as MQTT messages|none|configured subtrees|configured subtrees|individually configured values|
|
|
24
|
+
|
|
14
25
|
## Usage
|
|
15
26
|
|
|
16
27
|
This adapter communicates with Sonoff devices with Tasmota firmware or ESP devices via MQTT.
|
|
@@ -109,6 +120,16 @@ States:
|
|
|
109
120
|
### __WORK IN PROGRESS__
|
|
110
121
|
-->
|
|
111
122
|
## Changelog
|
|
123
|
+
### 2.5.0 (2022-03-21)
|
|
124
|
+
* (GreatSUN) Implement writing of NSPanel Widget changes
|
|
125
|
+
* (Apollon77) Fix crash case reported by Sentry
|
|
126
|
+
|
|
127
|
+
### 2.4.7 (2021-11-14)
|
|
128
|
+
* (Apollon77) Fix crash case (Sentry IOBROKER-SONOFF-1S)
|
|
129
|
+
|
|
130
|
+
### 2.4.6 (2021-11-13)
|
|
131
|
+
* (Apollon77) Fix some crash cases reported by 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)
|
|
132
|
+
* (Apollon77) Adjust Uptime to mixed because it seems that it can be number or string
|
|
112
133
|
|
|
113
134
|
### 2.4.5 (2021-07-21)
|
|
114
135
|
* (Apollon77) Fix some crash cases reported by Sentry
|
|
@@ -220,7 +241,7 @@ States:
|
|
|
220
241
|
|
|
221
242
|
The MIT License (MIT)
|
|
222
243
|
|
|
223
|
-
Copyright (c) 2017-
|
|
244
|
+
Copyright (c) 2017-2022, bluefox <dogafox@gmail.com>
|
|
224
245
|
|
|
225
246
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
226
247
|
of this software and associated documentation files (the "Software"), to deal
|
package/admin/words.js
CHANGED
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
|
|
4
4
|
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
|
-
"Authentication settings": { "en": "Authentication settings", "de": "
|
|
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
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": "连锁证书"},
|
|
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 (Sek.)",
|
|
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
12
|
"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
13
|
"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
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": "创建对象树"},
|
|
@@ -18,14 +18,14 @@ systemDictionary = {
|
|
|
18
18
|
"For tele/STATE": { "en": "For tele/STATE", "de": "Für tele/STATE", "ru": "Для tele/STATE", "pt": "Para tele/STATE", "nl": "Voor tele/STATE", "fr": "Pour tele/STATE", "it": "Per tele/STATE", "es": "Por tele/STATE", "pl": "Dla tele/STATE", "zh-cn": "对于电话/状态"},
|
|
19
19
|
"IP": { "en": "IP", "de": "IP-Adresse", "ru": "IP", "pt": "IP", "nl": "IP", "fr": "IP", "it": "IP", "es": "IP", "pl": "IP", "zh-cn": "知识产权"},
|
|
20
20
|
"Ignore warnings with pingreq": { "en": "Ignore warnings with pingreq", "de": "Warnungen mit pingreq ignorieren", "ru": "Игнорировать предупреждения с помощью pingreq", "pt": "Ignore os avisos com pingreq", "nl": "Negeer waarschuwingen met pingreq", "fr": "Ignorer les avertissements avec pingreq", "it": "Ignora gli avvisi con pingreq", "es": "Ignore las advertencias con pingreq", "pl": "Ignoruj ostrzeżenia za pomocą polecenia pingreq", "zh-cn": "使用pingreq忽略警告"},
|
|
21
|
-
"Interval before send topics by connection:": { "en": "Interval before send topics by connection", "de": "Interval vom Senden von allen Topics bei der
|
|
21
|
+
"Interval before send topics by connection:": { "en": "Interval before send topics by connection", "de": "Interval vom Senden von allen Topics bei der Verbindung", "ru": "Интервал перед отсылкой всей топиков после соединения", "pt": "Intervalo antes de enviar tópicos por conexão", "nl": "Intervalo antes de enviar tópicos por conexão", "fr": "Intervalle avant d'envoyer des sujets par connexion", "it": "Intervallo prima di inviare argomenti per connessione", "es": "Intervalo antes de enviar temas por conexión", "pl": "Interwał przed wysłaniem tematów według połączenia", "zh-cn": "通过连接发送主题之前的时间间隔"},
|
|
22
22
|
"Main settings": { "en": "Main settings", "de": "Allgemeine Einstellungen", "ru": "Основные настройки", "pt": "Configurações principais", "nl": "Configurações principais", "fr": "Réglages principaux", "it": "Impostazioni principali", "es": "Ajustes principales", "pl": "Ustawienia główne", "zh-cn": "主要设定"},
|
|
23
23
|
"Mask to publish": { "en": "e.g. 'mqtt.0.*,javascript.*'", "de": "z.B 'mqtt.0.*,javascript.*'", "ru": "Использовать запятую, как разделитеть. Например 'mqtt.0.*,javascript.*'", "pt": "por exemplo. 'mqtt.0. *, javascript. *'", "nl": "por exemplo. 'mqtt.0.*, javascript.*'", "fr": "par exemple. 'mqtt.0.*, javascript.*'", "it": "per esempio. 'Mqtt.0. *, Javascript. *'", "es": "p.ej. 'mqtt.0.*, javascript.*'", "pl": "na przykład \"mqtt.0. *, javascript. *\"", "zh-cn": "例如 'mqtt.0.*,javascript.*'"},
|
|
24
24
|
"Mask to publish own states:": { "en": "Mask to publish own states", "de": "Maske für Bekanntgeben von eigenen States", "ru": "Маска для собственных значений", "pt": "Máscara para publicar estados próprios", "nl": "Máscara para publicar estados próprios", "fr": "Masque pour publier ses propres états", "it": "Maschera per pubblicare i propri stati", "es": "Máscara para publicar estados propios", "pl": "Maskuj, aby publikować własne stany", "zh-cn": "遮罩以发布自己的状态"},
|
|
25
25
|
"Max topic length:": { "en": "Max topic name length", "de": "Maximale Topicnamelänge", "ru": "Максимальная длина имени топика", "pt": "Nome máximo do nome do tópico", "nl": "Nome máximo do nome do tópico", "fr": "Longueur maximale du nom de la rubrique", "it": "Lunghezza massima del nome dell'argomento", "es": "Longitud máxima del nombre del tema", "pl": "Maksymalna długość nazwy tematu", "zh-cn": "主题名称的最大长度"},
|
|
26
|
-
"Password confirmation:": { "en": "Password confirmation", "de": "
|
|
26
|
+
"Password confirmation:": { "en": "Password confirmation", "de": "Passwort-Wiederholung", "ru": "Подтверждение пароля", "pt": "ConfirmaÇão Da Senha", "nl": "ConfirmaÇão Da Senha", "fr": "Confirmation mot de passe", "it": "conferma password", "es": "confirmación de contraseña", "pl": "Potwierdzenie hasła", "zh-cn": "确认密码"},
|
|
27
27
|
"Password:": { "en": "Password", "de": "Kennwort", "ru": "Пароль", "pt": "Senha", "nl": "Senha", "fr": "Mot de passe", "it": "Parola d'ordine", "es": "Contraseña", "pl": "Hasło", "zh-cn": "密码"},
|
|
28
|
-
"Patterns:": { "en": "Subscribe patterns", "de": "Subscribe patterns", "ru": "
|
|
28
|
+
"Patterns:": { "en": "Subscribe patterns", "de": "Subscribe patterns", "ru": "Шаблоны подписки", "pt": "Assinar padrões", "nl": "Assinar padrões", "fr": "Modèles de souscription", "it": "Iscriviti modelli", "es": "Suscribir patrones", "pl": "Wzorce subskrypcji", "zh-cn": "订阅模式"},
|
|
29
29
|
"Port:": { "en": "Port", "de": "Port", "ru": "Порт", "pt": "Porta", "nl": "Porta", "fr": "Port", "it": "Porta", "es": "Puerto", "pl": "Port", "zh-cn": "港口"},
|
|
30
30
|
"Prefix for topics:": { "en": "Prefix for all topics", "de": "Prefix für alle Topics", "ru": "Префикс для всех значений", "pt": "Prefix para todos os tópicos", "nl": "Prefix para todos os tópicos", "fr": "Préfixe pour tous les sujets", "it": "Prefisso per tutti gli argomenti", "es": "Prefijo para todos los temas", "pl": "Prefiks dla wszystkich tematów", "zh-cn": "所有主题的前缀"},
|
|
31
31
|
"Private certificate:": { "en": "Private certificate", "de": "Privatzertifikat", "ru": "'Private' сертификат", "pt": "Certificado privado", "nl": "Certificado privado", "fr": "Certificat privé", "it": "Certificato privato", "es": "Certificado privado", "pl": "Prywatny certyfikat", "zh-cn": "私人证书"},
|
|
@@ -48,7 +48,7 @@ systemDictionary = {
|
|
|
48
48
|
"Use WebSockets:": { "en": "Use WebSockets too", "de": "Benutze auch WebSockets", "ru": "Сервер WebSockets тоже", "pt": "Use também WebSockets", "nl": "Use também WebSockets", "fr": "Utilisez aussi WebSockets", "it": "Utilizza anche WebSockets", "es": "Use WebSockets también", "pl": "Użyj także WebSockets", "zh-cn": "也使用WebSockets"},
|
|
49
49
|
"Use chunk patch:": { "en": "Use chunk patch", "de": "Benutze Patch für Chunking", "ru": "Использовать заплатку для Chunking", "pt": "Use patch de pedaços", "nl": "Use patch de pedaços", "fr": "Utiliser un patch de morceau", "it": "Usa patch pezzo", "es": "Use el fragmento de fragmento", "pl": "Użyj poprawki kawałka", "zh-cn": "使用大块补丁"},
|
|
50
50
|
"Use different topic names for set and get:": { "en": "Use different topic names for set and get", "de": "Unterschiedliche Namen für setzten und lesen", "ru": "Использовать разные имена для чтения и записи", "pt": "Use nomes de tópicos diferentes para definir e obter", "nl": "Use nomes de tópicos diferentes para definir e obter", "fr": "Utilisez différents noms de sujet pour définir et obtenir", "it": "Usa diversi nomi di argomenti per impostare e ottenere", "es": "Use diferentes nombres de tema para establecer y obtener", "pl": "Używaj różnych nazw tematów do ustawiania i pobierania", "zh-cn": "使用不同的主题名称进行设置和获取"},
|
|
51
|
-
"User:": { "en": "User", "de": "
|
|
51
|
+
"User:": { "en": "User", "de": "Benutzer", "ru": "Имя пользователя", "pt": "Utilizador", "nl": "Do utilizador", "fr": "Utilisateur", "it": "Utente", "es": "Usuario", "pl": "Użytkownik", "zh-cn": "用户"},
|
|
52
52
|
"chars": { "en": "chars", "de": "Symbolen", "ru": "символов", "pt": "caracteres", "nl": "caracteres", "fr": "chars", "it": "caratteri", "es": "caracteres", "pl": "znaki", "zh-cn": "字符"},
|
|
53
53
|
"connected": { "en": "connected", "de": "verbunden", "ru": "успешно", "pt": "conectado", "nl": "conectado", "fr": "connecté", "it": "collegato", "es": "conectado", "pl": "połączony", "zh-cn": "连接的"},
|
|
54
54
|
"ms": { "en": "ms", "de": "ms", "ru": "мс", "pt": "Senhora", "nl": "Senhora", "fr": "Mme", "it": "Signorina", "es": "Sra", "pl": "ms", "zh-cn": "女士"},
|