iobroker.loxone 2.2.3 → 3.0.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/README.md +5 -0
- package/admin/words.js +18 -18
- package/build/loxone-handler-base.js +1 -1
- package/build/loxone-handler-base.js.map +1 -1
- package/build/main.js +125 -71
- package/build/main.js.map +1 -1
- package/build/weather-server-handler.js +4 -4
- package/build/weather-server-handler.js.map +1 -1
- package/io-package.json +18 -1
- package/package.json +27 -26
- package/build/lib/tools.js +0 -96
- package/build/lib/tools.js.map +0 -1
package/README.md
CHANGED
|
@@ -719,6 +719,11 @@ Native value from ioBroker > Objects
|
|
|
719
719
|
### **WORK IN PROGRESS**
|
|
720
720
|
-->
|
|
721
721
|
|
|
722
|
+
### 3.0.0 (2021-12-29)
|
|
723
|
+
|
|
724
|
+
- (tdesmet) Changed to lxcommunicator (fixes #210)
|
|
725
|
+
- (UncleSamSwiss) Updated all dependencies
|
|
726
|
+
|
|
722
727
|
### 2.2.3 (2021-07-06)
|
|
723
728
|
|
|
724
729
|
- (UncleSamSwiss) Reduced number of Sentry reports for unsupported controls.
|
package/admin/words.js
CHANGED
|
@@ -1,25 +1,25 @@
|
|
|
1
1
|
/*global systemDictionary:true */
|
|
2
2
|
/*
|
|
3
|
-
|
|
4
|
-
|
|
|
5
|
-
|
|
|
6
|
-
|
|
3
|
+
+===================== DO NOT MODIFY ======================+
|
|
4
|
+
| This file was generated by translate-adapter, please use |
|
|
5
|
+
| `translate-adapter adminLanguages2words` to update it. |
|
|
6
|
+
+===================== DO NOT MODIFY ======================+
|
|
7
7
|
*/
|
|
8
8
|
'use strict';
|
|
9
9
|
|
|
10
10
|
systemDictionary = {
|
|
11
|
-
"Don't synchronize weather data": {
|
|
12
|
-
"Functions": {
|
|
13
|
-
"Loxone Miniserver adapter settings": {
|
|
14
|
-
"Miniserver Hostname / IP": {
|
|
15
|
-
"Miniserver Password": {
|
|
16
|
-
"Miniserver Port": {
|
|
17
|
-
"Miniserver Username": {
|
|
18
|
-
"Names": {
|
|
19
|
-
"Rooms": {
|
|
20
|
-
"Synchronize": {
|
|
21
|
-
"Synchronize 24 hours of weather forcast": {
|
|
22
|
-
"Synchronize current weather only": {
|
|
23
|
-
"Synchronize entire weather forcast": {
|
|
24
|
-
"Weather Server": {
|
|
11
|
+
"Don't synchronize weather data": { "en": "Don't synchronize weather data", "de": "Wetterdaten nicht synchronisieren", "ru": "Не синхронизировать данные о погоде", "pt": "Não sincronize dados meteorológicos", "nl": "Synchroniseer geen weergegevens", "fr": "Ne pas synchroniser les données météorologiques", "it": "Non sincronizzare i dati meteorologici", "es": "No sincronice los datos meteorológicos", "pl": "Nie synchronizuj danych pogodowych", "zh-cn": "不同步天气数据"},
|
|
12
|
+
"Functions": { "en": "Functions", "de": "Funktionen", "ru": "Функции", "pt": "Funções", "nl": "Functies", "fr": "Les fonctions", "it": "Funzioni", "es": "Funciones", "pl": "Funkcje", "zh-cn": "职能"},
|
|
13
|
+
"Loxone Miniserver adapter settings": { "en": "Loxone Miniserver adapter settings", "de": "Loxone Miniserver Adapter-Einstellungen", "ru": "Настройки драйвера Loxone Miniserver", "pt": "Configurações do adaptador do Miniserver Loxone", "nl": "Loxone Miniserver adapter instellingen", "fr": "Paramètres de l'adaptateur Loxone Miniserver", "it": "Impostazioni dell'adattatore Loxone Miniserver", "es": "Configuración del adaptador Loxone Miniserver", "pl": "Ustawienia adaptera Loxone Miniserver", "zh-cn": "Loxone Miniserver适配器设置"},
|
|
14
|
+
"Miniserver Hostname / IP": { "en": "Miniserver host name / IP", "de": "Hostname / IP des Miniservers", "ru": "IP / Hostname Минисервера", "pt": "Nome do host / IP do miniservidor", "nl": "Miniserver hostnaam / IP", "fr": "Nom d'hôte / IP du miniserver", "it": "Nome host / IP Miniserver", "es": "IP / nombre de host del Miniserver", "pl": "Nazwa / adres IP hosta Miniserver", "zh-cn": "小型服务器主机名/ IP"},
|
|
15
|
+
"Miniserver Password": { "en": "Miniserver password", "de": "Kennwort des Miniservers", "ru": "Пароль", "pt": "Senha do Miniserver", "nl": "Miniserver wachtwoord", "fr": "Mot de passe Miniserver", "it": "Password Miniserver", "es": "Contraseña de Miniserver", "pl": "Hasło miniservera", "zh-cn": "小型服务器密码"},
|
|
16
|
+
"Miniserver Port": { "en": "Miniserver port", "de": "Port des Miniservers", "ru": "Порт Минисервера", "pt": "Porta do Miniserver", "nl": "Miniserver poort", "fr": "Port Miniserver", "it": "Porta Miniserver", "es": "Puerto miniserver", "pl": "Port Miniserver", "zh-cn": "小型服务器端口"},
|
|
17
|
+
"Miniserver Username": { "en": "Miniserver username", "de": "Benutzername des Miniservers", "ru": "Имя пользователя", "pt": "Nome de usuário do Miniserver", "nl": "Miniserver gebruikersnaam", "fr": "Nom d'utilisateur Miniserver", "it": "Nome utente Miniserver", "es": "Nombre de usuario de Miniserver", "pl": "Nazwa użytkownika Miniserver", "zh-cn": "小型服务器用户名"},
|
|
18
|
+
"Names": { "en": "Names", "de": "Namen", "ru": "Имена", "pt": "Nomes", "nl": "Namen", "fr": "Noms", "it": "Nomi", "es": "Nombres", "pl": "Nazwy", "zh-cn": "名字"},
|
|
19
|
+
"Rooms": { "en": "Rooms", "de": "Räume", "ru": "Комнаты", "pt": "quartos", "nl": "Ruimtes", "fr": "Pièces", "it": "Camere", "es": "Habitaciones", "pl": "Pokoje", "zh-cn": "房间数"},
|
|
20
|
+
"Synchronize": { "en": "Synchronize", "de": "Synchronisieren", "ru": "Синхронизация", "pt": "Sincronizar", "nl": "Syncroniseer", "fr": "Synchroniser", "it": "Sincronizzare", "es": "Sincronizar", "pl": "Synchronizować", "zh-cn": "同步化"},
|
|
21
|
+
"Synchronize 24 hours of weather forcast": { "en": "Synchronize 24 hours of weather forcast", "de": "24 Stunden Wettervorhersage synchronisieren", "ru": "Синхронизация 24-часового прогноза погоды", "pt": "Sincronizar 24 horas de previsão do tempo", "nl": "Synchroniseer 24 uur weersvoorspelling", "fr": "Synchroniser 24 heures de prévisions météo", "it": "Sincronizza 24 ore di previsione meteo", "es": "Sincronizar 24 horas de previsión meteorológica", "pl": "Synchronizuj 24-godzinne prognozy pogody", "zh-cn": "同步24小时天气预报"},
|
|
22
|
+
"Synchronize current weather only": { "en": "Synchronize current weather only", "de": "Nur aktuelles Wetter synchronisieren", "ru": "Синхронизировать только текущую погоду", "pt": "Sincronizar apenas o clima atual", "nl": "Synchroniseer alleen het huidige weer", "fr": "Synchroniser uniquement la météo actuelle", "it": "Sincronizza solo il tempo corrente", "es": "Sincronizar solo el clima actual", "pl": "Synchronizuj tylko aktualną pogodę", "zh-cn": "仅同步当前天气"},
|
|
23
|
+
"Synchronize entire weather forcast": { "en": "Synchronize entire weather forcast", "de": "Gesamte Wettervorhersage synchronisieren", "ru": "Синхронизировать весь прогноз погоды", "pt": "Sincronizar previsão do tempo inteiro", "nl": "Synchroniseer de volledige weersvoorspelling", "fr": "Synchroniser toutes les prévisions météorologiques", "it": "Sincronizza l'intera previsione meteo", "es": "Sincronizar todo el pronóstico del tiempo", "pl": "Synchronizuj całą prognozę pogody", "zh-cn": "同步整个天气预报"},
|
|
24
|
+
"Weather Server": { "en": "Weather Server", "de": "Wetterserver", "ru": "Сервер погоды", "pt": "Servidor Meteorológico", "nl": "Weer Server", "fr": "Serveur météo", "it": "Weather Server", "es": "Servidor meteorológico", "pl": "Serwer pogody", "zh-cn": "天气服务器"},
|
|
25
25
|
};
|
|
@@ -25,7 +25,7 @@ class LoxoneHandlerBase {
|
|
|
25
25
|
await this.adapter.setStateAck(id, value);
|
|
26
26
|
}
|
|
27
27
|
async setFormattedStateAck(id, value, format) {
|
|
28
|
-
value = sprintf_js_1.sprintf(format, value);
|
|
28
|
+
value = (0, sprintf_js_1.sprintf)(format, value);
|
|
29
29
|
await this.setStateAck(id, value);
|
|
30
30
|
}
|
|
31
31
|
convertStateToInt(value) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"loxone-handler-base.js","sourceRoot":"","sources":["../src/loxone-handler-base.ts"],"names":[],"mappings":";;;AAAA,2CAAqC;AAWrC,MAAsB,iBAAiB;IACnC,YAAyC,OAAe;QAAf,YAAO,GAAP,OAAO,CAAQ;IAAG,CAAC;IAElD,KAAK,CAAC,oBAAoB,CAAC,UAAkB,EAAE,OAAgB;QACrE,OAAO,MAAM,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;IACxE,CAAC;IAES,sBAAsB,CAAC,EAAU,EAAE,QAA6B;QACtE,IAAI,CAAC,OAAO,CAAC,sBAAsB,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;IACtD,CAAC;IAES,oBAAoB,CAAC,IAAY,EAAE,YAA+B,EAAE,IAAa;QACvF,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,IAAI,EAAE,YAAY,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;IAES,uBAAuB,CAAC,IAAY,EAAE,IAAY;QACxD,OAAO,IAAI,CAAC,OAAO,CAAC,uBAAuB,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IAC5D,CAAC;IAES,WAAW,CAAC,IAAY,EAAE,MAAc;QAC9C,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC3C,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,KAAwB;QAC5D,MAAM,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;IAC9C,CAAC;IAES,KAAK,CAAC,oBAAoB,CAAC,EAAU,EAAE,KAAwB,EAAE,MAAc;QACrF,KAAK,GAAG,oBAAO,
|
|
1
|
+
{"version":3,"file":"loxone-handler-base.js","sourceRoot":"","sources":["../src/loxone-handler-base.ts"],"names":[],"mappings":"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"}
|
package/build/main.js
CHANGED
|
@@ -7,11 +7,13 @@ exports.Loxone = void 0;
|
|
|
7
7
|
const utils = require("@iobroker/adapter-core");
|
|
8
8
|
const SentryNode = require("@sentry/node");
|
|
9
9
|
const axios_1 = require("axios");
|
|
10
|
-
const
|
|
10
|
+
const LxCommunicator = require("lxcommunicator");
|
|
11
|
+
const uuid_1 = require("uuid");
|
|
11
12
|
const Unknown_1 = require("./controls/Unknown");
|
|
12
13
|
const weather_server_handler_1 = require("./weather-server-handler");
|
|
13
14
|
const FormData = require("form-data");
|
|
14
15
|
const Queue = require("queue-fifo");
|
|
16
|
+
const WebSocketConfig = LxCommunicator.WebSocketConfig;
|
|
15
17
|
class Loxone extends utils.Adapter {
|
|
16
18
|
constructor(options = {}) {
|
|
17
19
|
super({
|
|
@@ -19,6 +21,7 @@ class Loxone extends utils.Adapter {
|
|
|
19
21
|
...options,
|
|
20
22
|
name: 'loxone',
|
|
21
23
|
});
|
|
24
|
+
this.uuid = '';
|
|
22
25
|
this.existingObjects = {};
|
|
23
26
|
this.currentStateValues = {};
|
|
24
27
|
this.operatingModes = {};
|
|
@@ -50,68 +53,9 @@ class Loxone extends utils.Adapter {
|
|
|
50
53
|
this.existingObjects = await this.getAdapterObjectsAsync();
|
|
51
54
|
// Reset the connection indicator during startup
|
|
52
55
|
this.setState('info.connection', false, true);
|
|
56
|
+
this.uuid = (0, uuid_1.v4)();
|
|
53
57
|
// connect to Loxone Miniserver
|
|
54
|
-
|
|
55
|
-
this.client.on('connect', () => {
|
|
56
|
-
this.log.info('Miniserver connected');
|
|
57
|
-
});
|
|
58
|
-
this.client.on('authorized', () => {
|
|
59
|
-
this.log.debug('authorized');
|
|
60
|
-
});
|
|
61
|
-
this.client.on('auth_failed', () => {
|
|
62
|
-
this.log.error('Miniserver auth failed');
|
|
63
|
-
});
|
|
64
|
-
this.client.on('connect_failed', () => {
|
|
65
|
-
this.log.error('Miniserver connect failed');
|
|
66
|
-
});
|
|
67
|
-
this.client.on('connection_error', (error) => {
|
|
68
|
-
this.log.error('Miniserver connection error: ' + error);
|
|
69
|
-
});
|
|
70
|
-
this.client.on('close', () => {
|
|
71
|
-
this.log.info('connection closed');
|
|
72
|
-
// Stop queue and clear it. Issue a warning if it isn't empty.
|
|
73
|
-
this.runQueue = false;
|
|
74
|
-
if (this.eventsQueue.size() > 0) {
|
|
75
|
-
this.log.warn('Event queue is not empty. Discarding ' + this.eventsQueue.size() + ' items');
|
|
76
|
-
}
|
|
77
|
-
// Yes - I know this could go in the 'if' above but here 'just in case' ;)
|
|
78
|
-
this.eventsQueue.clear();
|
|
79
|
-
this.setState('info.connection', false, true);
|
|
80
|
-
});
|
|
81
|
-
this.client.on('send', (message) => {
|
|
82
|
-
this.log.debug('sent message: ' + message);
|
|
83
|
-
});
|
|
84
|
-
this.client.on('message_text', (message) => {
|
|
85
|
-
this.log.debug('message_text ' + JSON.stringify(message));
|
|
86
|
-
});
|
|
87
|
-
this.client.on('message_file', (message) => {
|
|
88
|
-
this.log.debug('message_file ' + JSON.stringify(message));
|
|
89
|
-
});
|
|
90
|
-
this.client.on('message_invalid', (message) => {
|
|
91
|
-
this.log.debug('message_invalid ' + JSON.stringify(message));
|
|
92
|
-
});
|
|
93
|
-
this.client.on('keepalive', (time) => {
|
|
94
|
-
this.log.silly('keepalive (' + time + 'ms)');
|
|
95
|
-
});
|
|
96
|
-
this.client.on('get_structure_file', async (data) => {
|
|
97
|
-
this.log.silly(`get_structure_file ${JSON.stringify(data)}`);
|
|
98
|
-
this.log.info(`got structure file; last modified on ${data.lastModified}`);
|
|
99
|
-
const sentry = this.getSentry();
|
|
100
|
-
if (sentry) {
|
|
101
|
-
// add a global event processor to upload the structure file (only once)
|
|
102
|
-
sentry.addGlobalEventProcessor(this.createSentryEventProcessor(data));
|
|
103
|
-
}
|
|
104
|
-
try {
|
|
105
|
-
await this.loadStructureFileAsync(data);
|
|
106
|
-
this.log.debug('structure file successfully loaded');
|
|
107
|
-
// we are ready, let's set the connection indicator
|
|
108
|
-
this.setState('info.connection', true, true);
|
|
109
|
-
}
|
|
110
|
-
catch (error) {
|
|
111
|
-
this.log.error(`Couldn't load structure file: ${error}`);
|
|
112
|
-
sentry === null || sentry === void 0 ? void 0 : sentry.captureException(error, { extra: { data } });
|
|
113
|
-
}
|
|
114
|
-
});
|
|
58
|
+
const webSocketConfig = new WebSocketConfig(WebSocketConfig.protocol.WS, this.uuid, 'iobroker', WebSocketConfig.permission.APP, false);
|
|
115
59
|
const handleAnyEvent = (uuid, evt) => {
|
|
116
60
|
this.log.silly(`received update event: ${JSON.stringify(evt)}: ${uuid}`);
|
|
117
61
|
this.eventsQueue.enqueue({ uuid, evt });
|
|
@@ -121,21 +65,131 @@ class Loxone extends utils.Adapter {
|
|
|
121
65
|
(_a = this.getSentry()) === null || _a === void 0 ? void 0 : _a.captureException(e, { extra: { uuid, evt } });
|
|
122
66
|
});
|
|
123
67
|
};
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
68
|
+
webSocketConfig.delegate = {
|
|
69
|
+
socketOnDataProgress: (socket, progress) => {
|
|
70
|
+
this.log.debug('data progress ' + progress);
|
|
71
|
+
},
|
|
72
|
+
socketOnTokenConfirmed: (_socket, _response) => {
|
|
73
|
+
this.log.debug('token confirmed');
|
|
74
|
+
},
|
|
75
|
+
socketOnTokenReceived: (_socket, _result) => {
|
|
76
|
+
this.log.debug('token received');
|
|
77
|
+
},
|
|
78
|
+
socketOnConnectionClosed: (socket, code) => {
|
|
79
|
+
this.log.info('Socket closed ' + code);
|
|
80
|
+
// Stop queue and clear it. Issue a warning if it isn't empty.
|
|
81
|
+
this.runQueue = false;
|
|
82
|
+
if (this.eventsQueue.size() > 0) {
|
|
83
|
+
this.log.warn('Event queue is not empty. Discarding ' + this.eventsQueue.size() + ' items');
|
|
84
|
+
}
|
|
85
|
+
// Yes - I know this could go in the 'if' above but here 'just in case' ;)
|
|
86
|
+
this.eventsQueue.clear();
|
|
87
|
+
this.setState('info.connection', false, true);
|
|
88
|
+
if (code != LxCommunicator.SupportCode.WEBSOCKET_MANUAL_CLOSE) {
|
|
89
|
+
this.reconnect();
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
socketOnEventReceived: (socket, events, type) => {
|
|
93
|
+
this.log.silly(`socket event received ${type} ${JSON.stringify(events)}`);
|
|
94
|
+
for (const evt of events) {
|
|
95
|
+
switch (type) {
|
|
96
|
+
case LxCommunicator.BinaryEvent.Type.EVENT:
|
|
97
|
+
handleAnyEvent(evt.uuid, evt.value);
|
|
98
|
+
break;
|
|
99
|
+
case LxCommunicator.BinaryEvent.Type.EVENTTEXT:
|
|
100
|
+
handleAnyEvent(evt.uuid, evt.text);
|
|
101
|
+
break;
|
|
102
|
+
case LxCommunicator.BinaryEvent.Type.EVENT:
|
|
103
|
+
handleAnyEvent(evt.uuid, evt);
|
|
104
|
+
break;
|
|
105
|
+
case LxCommunicator.BinaryEvent.Type.WEATHER:
|
|
106
|
+
handleAnyEvent(evt.uuid, evt);
|
|
107
|
+
break;
|
|
108
|
+
default:
|
|
109
|
+
break;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
this.socket = new LxCommunicator.WebSocket(webSocketConfig);
|
|
115
|
+
await this.connect();
|
|
129
116
|
this.subscribeStates('*');
|
|
130
117
|
}
|
|
118
|
+
async connect() {
|
|
119
|
+
this.log.info('Trying to connect');
|
|
120
|
+
try {
|
|
121
|
+
await this.socket.open(this.config.host + ':' + this.config.port, this.config.username, this.config.password);
|
|
122
|
+
}
|
|
123
|
+
catch (error) {
|
|
124
|
+
// do not stringify error, it can contain circular references
|
|
125
|
+
this.log.error(`Couldn't open socket`);
|
|
126
|
+
this.reconnect();
|
|
127
|
+
return false;
|
|
128
|
+
}
|
|
129
|
+
let file;
|
|
130
|
+
try {
|
|
131
|
+
const fileString = await this.socket.send('data/LoxAPP3.json');
|
|
132
|
+
file = JSON.parse(fileString);
|
|
133
|
+
}
|
|
134
|
+
catch (error) {
|
|
135
|
+
// do not stringify error, it can contain circular references
|
|
136
|
+
this.log.error(`Couldn't get structure file`);
|
|
137
|
+
this.reconnect();
|
|
138
|
+
return false;
|
|
139
|
+
}
|
|
140
|
+
this.log.silly(`get_structure_file ${JSON.stringify(file)}`);
|
|
141
|
+
this.log.info(`got structure file; last modified on ${file.lastModified}`);
|
|
142
|
+
const sentry = this.getSentry();
|
|
143
|
+
if (sentry) {
|
|
144
|
+
// add a global event processor to upload the structure file (only once)
|
|
145
|
+
sentry.addGlobalEventProcessor(this.createSentryEventProcessor(file));
|
|
146
|
+
}
|
|
147
|
+
try {
|
|
148
|
+
await this.loadStructureFileAsync(file);
|
|
149
|
+
this.log.debug('structure file successfully loaded');
|
|
150
|
+
// we are ready, let's set the connection indicator
|
|
151
|
+
this.setState('info.connection', true, true);
|
|
152
|
+
}
|
|
153
|
+
catch (error) {
|
|
154
|
+
// do not stringify error, it can contain circular references
|
|
155
|
+
this.log.error(`Couldn't load structure file`);
|
|
156
|
+
sentry === null || sentry === void 0 ? void 0 : sentry.captureException(error, { extra: { file } });
|
|
157
|
+
this.socket.close();
|
|
158
|
+
this.reconnect();
|
|
159
|
+
return false;
|
|
160
|
+
}
|
|
161
|
+
try {
|
|
162
|
+
await this.socket.send('jdev/sps/enablebinstatusupdate');
|
|
163
|
+
}
|
|
164
|
+
catch (error) {
|
|
165
|
+
// do not stringify error, it can contain circular references
|
|
166
|
+
this.log.error(`Couldn't enable status updates`);
|
|
167
|
+
this.socket.close();
|
|
168
|
+
this.reconnect();
|
|
169
|
+
return false;
|
|
170
|
+
}
|
|
171
|
+
return true;
|
|
172
|
+
}
|
|
173
|
+
reconnect() {
|
|
174
|
+
if (this.reconnectTimer) {
|
|
175
|
+
return;
|
|
176
|
+
}
|
|
177
|
+
this.reconnectTimer = this.setTimeout(() => {
|
|
178
|
+
delete this.reconnectTimer;
|
|
179
|
+
this.connect().catch((e) => {
|
|
180
|
+
this.log.error(`Couldn't reconnect: ${e}`);
|
|
181
|
+
this.reconnect();
|
|
182
|
+
});
|
|
183
|
+
}, 5000);
|
|
184
|
+
}
|
|
131
185
|
/**
|
|
132
186
|
* Is called when adapter shuts down - callback has to be called under any circumstances!
|
|
133
187
|
*/
|
|
134
188
|
onUnload(callback) {
|
|
135
189
|
try {
|
|
136
|
-
if (this.
|
|
137
|
-
this.
|
|
138
|
-
delete this.
|
|
190
|
+
if (this.socket) {
|
|
191
|
+
this.socket.close();
|
|
192
|
+
delete this.socket;
|
|
139
193
|
}
|
|
140
194
|
callback();
|
|
141
195
|
}
|
|
@@ -478,7 +532,7 @@ class Loxone extends utils.Adapter {
|
|
|
478
532
|
}
|
|
479
533
|
sendCommand(uuid, action) {
|
|
480
534
|
this.log.debug(`Sending command ${uuid} ${action}`);
|
|
481
|
-
this.
|
|
535
|
+
this.socket.send(`jdev/sps/io/${uuid}/${action}`, 2);
|
|
482
536
|
}
|
|
483
537
|
getExistingObject(id) {
|
|
484
538
|
const fullId = this.namespace + '.' + id;
|
package/build/main.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"main.js","sourceRoot":"","sources":["../src/main.ts"],"names":[],"mappings":"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"}
|
|
@@ -28,20 +28,20 @@ class WeatherServerHandler extends loxone_handler_base_1.LoxoneHandlerBase {
|
|
|
28
28
|
});
|
|
29
29
|
await this.setWeatherObjectsAsync('Actual');
|
|
30
30
|
this.addStateEventHandler(data.states.actual, async (value) => {
|
|
31
|
-
await this.setWeatherStates(deviceName + '.Actual', value.
|
|
31
|
+
await this.setWeatherStates(deviceName + '.Actual', value.entries[0]);
|
|
32
32
|
});
|
|
33
33
|
if (filter === 'current') {
|
|
34
34
|
return;
|
|
35
35
|
}
|
|
36
36
|
this.addStateEventHandler(data.states.forecast, async (value) => {
|
|
37
|
-
const hourCount = Math.min(value.
|
|
37
|
+
const hourCount = Math.min(value.entries.length, filter === '1day' ? 24 : Number.MAX_VALUE);
|
|
38
38
|
for (let i = 0; i < hourCount; i++) {
|
|
39
|
-
const channelName = 'Hour' + sprintf_js_1.sprintf('%02d', i + 1);
|
|
39
|
+
const channelName = 'Hour' + (0, sprintf_js_1.sprintf)('%02d', i + 1);
|
|
40
40
|
if (i >= this.forecastChannelsCount) {
|
|
41
41
|
await this.setWeatherObjectsAsync(channelName);
|
|
42
42
|
this.forecastChannelsCount++;
|
|
43
43
|
}
|
|
44
|
-
await this.setWeatherStates(deviceName + '.' + channelName, value.
|
|
44
|
+
await this.setWeatherStates(deviceName + '.' + channelName, value.entries[i]);
|
|
45
45
|
}
|
|
46
46
|
});
|
|
47
47
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"weather-server-handler.js","sourceRoot":"","sources":["../src/weather-server-handler.ts"],"names":[],"mappings":";;;AAAA,2CAAqC;AACrC,+DAA0D;AAI1D,MAAa,oBAAqB,SAAQ,uCAAiB;IAMvD,YAAsC,OAAe;QACjD,KAAK,CAAC,OAAO,CAAC,CAAC;QADmB,YAAO,GAAP,OAAO,CAAQ;QALpC,eAAU,GAAG,eAAe,CAAC;QAEtC,qBAAgB,GAA2B,EAAE,CAAC;QAC9C,0BAAqB,GAAG,CAAC,CAAC;IAIlC,CAAC;IAEM,KAAK,CAAC,SAAS,CAAC,IAAmB,EAAE,MAAkC;QAC1E,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE;YAC/F,OAAO;SACV;QAED,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC1B,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC,gBAAgB,CAAC;QAE9C,MAAM,UAAU,GAAG,eAAe,CAAC;QACnC,MAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,EAAE;YACrC,IAAI,EAAE,QAAQ;YACd,MAAM,EAAE;gBACJ,IAAI,EAAE,UAAU;gBAChB,IAAI,EAAE,SAAS;aAClB;YACD,MAAM,EAAE,EAAE,IAAI,EAAE,IAAW,EAAE;SAChC,CAAC,CAAC;QAEH,MAAM,IAAI,CAAC,sBAAsB,CAAC,QAAQ,CAAC,CAAC;QAE5C,IAAI,CAAC,oBAAoB,CAAC,IAAI,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,KAAU,EAAE,EAAE;YAC/D,MAAM,IAAI,CAAC,gBAAgB,CAAC,UAAU,GAAG,SAAS,EAAE,KAAK,CAAC,
|
|
1
|
+
{"version":3,"file":"weather-server-handler.js","sourceRoot":"","sources":["../src/weather-server-handler.ts"],"names":[],"mappings":"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"}
|
package/io-package.json
CHANGED
|
@@ -1,8 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "loxone",
|
|
4
|
-
"version": "
|
|
4
|
+
"version": "3.0.0",
|
|
5
5
|
"news": {
|
|
6
|
+
"3.0.0": {
|
|
7
|
+
"en": "Changed to lxcommunicator (fixes #210)\nUpdated all dependencies",
|
|
8
|
+
"de": "Zu lxcommunicator geändert (Fixes #210)\nAlle Abhängigkeiten aktualisiert",
|
|
9
|
+
"ru": "Изменен на lxcommunicator (исправления # 210)\nОбновлены все зависимости",
|
|
10
|
+
"pt": "Alterado para lxcommunicator (correções # 210)\nTodas as dependências atualizadas",
|
|
11
|
+
"nl": "Gewijzigd in lxcommunicator (reparatie #210)\nAlle afhankelijkheden bijgewerkt",
|
|
12
|
+
"fr": "Changé en lxcommunicator (correctifs #210)\nMise à jour de toutes les dépendances",
|
|
13
|
+
"it": "Modificato in lxcommunicator (correzioni #210)\nAggiornate tutte le dipendenze",
|
|
14
|
+
"es": "Cambiado a lxcommunicator (arreglos # 210)\nActualizadas todas las dependencias",
|
|
15
|
+
"pl": "Zmieniono na lxcommunicator (poprawki #210)\nZaktualizowano wszystkie zależności",
|
|
16
|
+
"zh-cn": "更改为 lxcommunicator(修复 #210)\n更新了所有依赖项"
|
|
17
|
+
},
|
|
6
18
|
"2.2.3": {
|
|
7
19
|
"en": "Reduced number of Sentry reports for unsupported controls.",
|
|
8
20
|
"de": "Reduzierte Anzahl von Sentry-Berichten für nicht unterstützte Kontrollen.",
|
|
@@ -285,6 +297,11 @@
|
|
|
285
297
|
"js-controller": ">=1.4.2"
|
|
286
298
|
}
|
|
287
299
|
],
|
|
300
|
+
"globalDependencies": [
|
|
301
|
+
{
|
|
302
|
+
"admin": ">=4.0.9"
|
|
303
|
+
}
|
|
304
|
+
],
|
|
288
305
|
"plugins": {
|
|
289
306
|
"sentry": {
|
|
290
307
|
"dsn": "https://b83357399aec406c8be63ce73482f7fe@sentry.iobroker.net/130",
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "iobroker.loxone",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "Communicates with a Loxone Miniserver.",
|
|
5
5
|
"author": {
|
|
6
6
|
"name": "UncleSamSwiss",
|
|
@@ -18,46 +18,46 @@
|
|
|
18
18
|
"url": "https://github.com/UncleSamSwiss/ioBroker.loxone"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@iobroker/adapter-core": "^2.5.
|
|
22
|
-
"@sentry/node": "^6.
|
|
23
|
-
"axios": "^0.
|
|
21
|
+
"@iobroker/adapter-core": "^2.5.1",
|
|
22
|
+
"@sentry/node": "^6.16.1",
|
|
23
|
+
"axios": "^0.24.0",
|
|
24
24
|
"color-convert": "^2.0.1",
|
|
25
25
|
"form-data": "^4.0.0",
|
|
26
|
-
"
|
|
26
|
+
"lxcommunicator": "^1.1.1",
|
|
27
27
|
"queue-fifo": "*",
|
|
28
|
-
"sprintf-js": "^1.1.2"
|
|
28
|
+
"sprintf-js": "^1.1.2",
|
|
29
|
+
"uuid": "^8.3.2"
|
|
29
30
|
},
|
|
30
31
|
"devDependencies": {
|
|
31
|
-
"@alcalzone/release-script": "^2.2.
|
|
32
|
-
"@iobroker/adapter-dev": "^0.0
|
|
33
|
-
"@iobroker/testing": "^2.
|
|
34
|
-
"@types/chai": "^4.2.
|
|
32
|
+
"@alcalzone/release-script": "^2.2.1",
|
|
33
|
+
"@iobroker/adapter-dev": "^0.1.0",
|
|
34
|
+
"@iobroker/testing": "^2.5.2",
|
|
35
|
+
"@types/chai": "^4.2.22",
|
|
35
36
|
"@types/chai-as-promised": "^7.1.4",
|
|
36
37
|
"@types/color-convert": "^2.0.0",
|
|
37
|
-
"@types/
|
|
38
|
-
"@types/
|
|
39
|
-
"@types/node": "^15.14.1",
|
|
38
|
+
"@types/mocha": "^9.0.0",
|
|
39
|
+
"@types/node": "^16.11.17",
|
|
40
40
|
"@types/proxyquire": "^1.3.28",
|
|
41
|
-
"@types/sinon": "^10.0.
|
|
42
|
-
"@types/sinon-chai": "^3.2.
|
|
41
|
+
"@types/sinon": "^10.0.6",
|
|
42
|
+
"@types/sinon-chai": "^3.2.7",
|
|
43
43
|
"@types/sprintf-js": "^1.1.2",
|
|
44
|
-
"@
|
|
45
|
-
"@typescript-eslint/
|
|
44
|
+
"@types/uuid": "^8.3.3",
|
|
45
|
+
"@typescript-eslint/eslint-plugin": "^5.8.1",
|
|
46
|
+
"@typescript-eslint/parser": "^5.8.1",
|
|
46
47
|
"chai": "^4.3.4",
|
|
47
48
|
"chai-as-promised": "^7.1.1",
|
|
48
|
-
"eslint": "^
|
|
49
|
+
"eslint": "^8.5.0",
|
|
49
50
|
"eslint-config-prettier": "^8.3.0",
|
|
50
|
-
"eslint-plugin-prettier": "^
|
|
51
|
-
"
|
|
52
|
-
"
|
|
53
|
-
"prettier": "^2.3.2",
|
|
51
|
+
"eslint-plugin-prettier": "^4.0.0",
|
|
52
|
+
"mocha": "^9.1.3",
|
|
53
|
+
"prettier": "^2.5.0",
|
|
54
54
|
"proxyquire": "^2.1.3",
|
|
55
55
|
"rimraf": "^3.0.2",
|
|
56
|
-
"sinon": "^
|
|
56
|
+
"sinon": "^12.0.1",
|
|
57
57
|
"sinon-chai": "^3.7.0",
|
|
58
|
-
"source-map-support": "^0.5.
|
|
59
|
-
"ts-node": "^10.
|
|
60
|
-
"typescript": "^4.
|
|
58
|
+
"source-map-support": "^0.5.21",
|
|
59
|
+
"ts-node": "^10.4.0",
|
|
60
|
+
"typescript": "^4.5.4"
|
|
61
61
|
},
|
|
62
62
|
"main": "build/main.js",
|
|
63
63
|
"scripts": {
|
|
@@ -73,6 +73,7 @@
|
|
|
73
73
|
"test": "npm run test:ts && npm run test:package",
|
|
74
74
|
"check": "tsc --noEmit",
|
|
75
75
|
"lint": "eslint --ext .ts src/",
|
|
76
|
+
"translate": "translate-adapter",
|
|
76
77
|
"release": "release-script"
|
|
77
78
|
},
|
|
78
79
|
"bugs": {
|
package/build/lib/tools.js
DELETED
|
@@ -1,96 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.translateText = exports.isArray = exports.isObject = void 0;
|
|
4
|
-
const axios_1 = require("axios");
|
|
5
|
-
/**
|
|
6
|
-
* Tests whether the given variable is a real object and not an Array
|
|
7
|
-
* @param it The variable to test
|
|
8
|
-
*/
|
|
9
|
-
function isObject(it) {
|
|
10
|
-
// This is necessary because:
|
|
11
|
-
// typeof null === 'object'
|
|
12
|
-
// typeof [] === 'object'
|
|
13
|
-
// [] instanceof Object === true
|
|
14
|
-
return Object.prototype.toString.call(it) === '[object Object]';
|
|
15
|
-
}
|
|
16
|
-
exports.isObject = isObject;
|
|
17
|
-
/**
|
|
18
|
-
* Tests whether the given variable is really an Array
|
|
19
|
-
* @param it The variable to test
|
|
20
|
-
*/
|
|
21
|
-
function isArray(it) {
|
|
22
|
-
if (Array.isArray != null)
|
|
23
|
-
return Array.isArray(it);
|
|
24
|
-
return Object.prototype.toString.call(it) === '[object Array]';
|
|
25
|
-
}
|
|
26
|
-
exports.isArray = isArray;
|
|
27
|
-
/**
|
|
28
|
-
* Translates text using the Google Translate API
|
|
29
|
-
* @param text The text to translate
|
|
30
|
-
* @param targetLang The target languate
|
|
31
|
-
* @param yandexApiKey The yandex API key. You can create one for free at https://translate.yandex.com/developers
|
|
32
|
-
*/
|
|
33
|
-
async function translateText(text, targetLang, yandexApiKey) {
|
|
34
|
-
if (targetLang === 'en') {
|
|
35
|
-
return text;
|
|
36
|
-
}
|
|
37
|
-
else if (!text) {
|
|
38
|
-
return '';
|
|
39
|
-
}
|
|
40
|
-
if (yandexApiKey) {
|
|
41
|
-
return translateYandex(text, targetLang, yandexApiKey);
|
|
42
|
-
}
|
|
43
|
-
else {
|
|
44
|
-
return translateGoogle(text, targetLang);
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
exports.translateText = translateText;
|
|
48
|
-
/**
|
|
49
|
-
* Translates text with Yandex API
|
|
50
|
-
* @param text The text to translate
|
|
51
|
-
* @param targetLang The target languate
|
|
52
|
-
* @param apiKey The yandex API key. You can create one for free at https://translate.yandex.com/developers
|
|
53
|
-
*/
|
|
54
|
-
async function translateYandex(text, targetLang, apiKey) {
|
|
55
|
-
var _a;
|
|
56
|
-
if (targetLang === 'zh-cn') {
|
|
57
|
-
targetLang = 'zh';
|
|
58
|
-
}
|
|
59
|
-
try {
|
|
60
|
-
const url = `https://translate.yandex.net/api/v1.5/tr.json/translate?key=${apiKey}&text=${encodeURIComponent(text)}&lang=en-${targetLang}`;
|
|
61
|
-
const response = await axios_1.default({ url, timeout: 15000 });
|
|
62
|
-
if (isArray((_a = response.data) === null || _a === void 0 ? void 0 : _a.text)) {
|
|
63
|
-
return response.data.text[0];
|
|
64
|
-
}
|
|
65
|
-
throw new Error('Invalid response for translate request');
|
|
66
|
-
}
|
|
67
|
-
catch (e) {
|
|
68
|
-
throw new Error(`Could not translate to "${targetLang}": ${e}`);
|
|
69
|
-
}
|
|
70
|
-
}
|
|
71
|
-
/**
|
|
72
|
-
* Translates text with Google API
|
|
73
|
-
* @param text The text to translate
|
|
74
|
-
* @param targetLang The target languate
|
|
75
|
-
*/
|
|
76
|
-
async function translateGoogle(text, targetLang) {
|
|
77
|
-
var _a;
|
|
78
|
-
try {
|
|
79
|
-
const url = `http://translate.googleapis.com/translate_a/single?client=gtx&sl=en&tl=${targetLang}&dt=t&q=${encodeURIComponent(text)}&ie=UTF-8&oe=UTF-8`;
|
|
80
|
-
const response = await axios_1.default({ url, timeout: 15000 });
|
|
81
|
-
if (isArray(response.data)) {
|
|
82
|
-
// we got a valid response
|
|
83
|
-
return response.data[0][0][0];
|
|
84
|
-
}
|
|
85
|
-
throw new Error('Invalid response for translate request');
|
|
86
|
-
}
|
|
87
|
-
catch (e) {
|
|
88
|
-
if (((_a = e.response) === null || _a === void 0 ? void 0 : _a.status) === 429) {
|
|
89
|
-
throw new Error(`Could not translate to "${targetLang}": Rate-limited by Google Translate`);
|
|
90
|
-
}
|
|
91
|
-
else {
|
|
92
|
-
throw new Error(`Could not translate to "${targetLang}": ${e}`);
|
|
93
|
-
}
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
//# sourceMappingURL=tools.js.map
|
package/build/lib/tools.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/lib/tools.ts"],"names":[],"mappings":";;;AAAA,iCAA0B;AAE1B;;;GAGG;AACH,SAAgB,QAAQ,CAAC,EAAW;IAChC,6BAA6B;IAC7B,2BAA2B;IAC3B,yBAAyB;IACzB,gCAAgC;IAChC,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,iBAAiB,CAAC;AACpE,CAAC;AAND,4BAMC;AAED;;;GAGG;AACH,SAAgB,OAAO,CAAC,EAAW;IAC/B,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI;QAAE,OAAO,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;IACpD,OAAO,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,gBAAgB,CAAC;AACnE,CAAC;AAHD,0BAGC;AAED;;;;;GAKG;AACI,KAAK,UAAU,aAAa,CAAC,IAAY,EAAE,UAAkB,EAAE,YAAqB;IACvF,IAAI,UAAU,KAAK,IAAI,EAAE;QACrB,OAAO,IAAI,CAAC;KACf;SAAM,IAAI,CAAC,IAAI,EAAE;QACd,OAAO,EAAE,CAAC;KACb;IACD,IAAI,YAAY,EAAE;QACd,OAAO,eAAe,CAAC,IAAI,EAAE,UAAU,EAAE,YAAY,CAAC,CAAC;KAC1D;SAAM;QACH,OAAO,eAAe,CAAC,IAAI,EAAE,UAAU,CAAC,CAAC;KAC5C;AACL,CAAC;AAXD,sCAWC;AAED;;;;;GAKG;AACH,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,UAAkB,EAAE,MAAc;;IAC3E,IAAI,UAAU,KAAK,OAAO,EAAE;QACxB,UAAU,GAAG,IAAI,CAAC;KACrB;IACD,IAAI;QACA,MAAM,GAAG,GAAG,+DAA+D,MAAM,SAAS,kBAAkB,CACxG,IAAI,CACP,YAAY,UAAU,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,MAAA,QAAQ,CAAC,IAAI,0CAAE,IAAI,CAAC,EAAE;YAC9B,OAAO,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;SAChC;QACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC7D;IAAC,OAAO,CAAC,EAAE;QACR,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,MAAM,CAAC,EAAE,CAAC,CAAC;KACnE;AACL,CAAC;AAED;;;;GAIG;AACH,KAAK,UAAU,eAAe,CAAC,IAAY,EAAE,UAAkB;;IAC3D,IAAI;QACA,MAAM,GAAG,GAAG,0EAA0E,UAAU,WAAW,kBAAkB,CACzH,IAAI,CACP,oBAAoB,CAAC;QACtB,MAAM,QAAQ,GAAG,MAAM,eAAK,CAAC,EAAE,GAAG,EAAE,OAAO,EAAE,KAAK,EAAE,CAAC,CAAC;QACtD,IAAI,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACxB,0BAA0B;YAC1B,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;SACjC;QACD,MAAM,IAAI,KAAK,CAAC,wCAAwC,CAAC,CAAC;KAC7D;IAAC,OAAO,CAAC,EAAE;QACR,IAAI,CAAA,MAAA,CAAC,CAAC,QAAQ,0CAAE,MAAM,MAAK,GAAG,EAAE;YAC5B,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,qCAAqC,CAAC,CAAC;SAC/F;aAAM;YACH,MAAM,IAAI,KAAK,CAAC,2BAA2B,UAAU,MAAM,CAAC,EAAE,CAAC,CAAC;SACnE;KACJ;AACL,CAAC"}
|