iobroker.wiim 0.2.0 → 0.3.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 -1
- package/admin/i18n/de/translations.json +3 -4
- package/admin/i18n/en/translations.json +3 -4
- package/admin/i18n/es/translations.json +3 -4
- package/admin/i18n/fr/translations.json +3 -4
- package/admin/i18n/it/translations.json +3 -4
- package/admin/i18n/nl/translations.json +3 -5
- package/admin/i18n/pl/translations.json +3 -4
- package/admin/i18n/pt/translations.json +3 -4
- package/admin/i18n/ru/translations.json +3 -4
- package/admin/i18n/uk/translations.json +3 -4
- package/admin/i18n/zh-cn/translations.json +3 -5
- package/admin/words.js +2 -5
- package/io-package.json +23 -23
- package/package.json +1 -1
- package/wiim.js +9 -3
package/README.md
CHANGED
|
@@ -12,7 +12,7 @@
|
|
|
12
12
|
|
|
13
13
|
## wiim adapter for ioBroker
|
|
14
14
|
|
|
15
|
-
adapter to access Wiim/Arylic devices
|
|
15
|
+
adapter to access Wiim/Arylic and other devices based on the Linkplay streaming/multiroom technology
|
|
16
16
|
|
|
17
17
|
## supported devices
|
|
18
18
|
The adapter has been tested with:
|
|
@@ -130,6 +130,10 @@ August: https://augustint.com/
|
|
|
130
130
|
|
|
131
131
|
## Changelog
|
|
132
132
|
|
|
133
|
+
<### 0.3.0
|
|
134
|
+
* (KaiIOB) improved stability of bonjour autodetect of streamers, dnla introduced to retrieve coverArt from generic players>
|
|
135
|
+
|
|
136
|
+
|
|
133
137
|
<### 0.2.0
|
|
134
138
|
* (KaiIOB) introduction of bonjour auto-detect of streamers>
|
|
135
139
|
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"Refresh_Interval": "
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"Refresh_Interval": "Intervall für die Aktualisierung der Streamerdaten in Sekunden"
|
|
3
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"Refresh_Interval": "interval for refresh of player data in seconds"
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"Refresh_Interval": "interval for refresh of player data in seconds"
|
|
3
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"Refresh_Interval": "
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"Refresh_Interval": "intervalo para la actualización de los datos del reproductor en segundos"
|
|
3
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"Refresh_Interval": "
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"Refresh_Interval": "intervalle pour rafraîchir les données du lecteur en secondes"
|
|
3
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"Refresh_Interval": "
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"Refresh_Interval": "intervallo per aggiornamento dei dati del giocatore in secondi"
|
|
3
|
+
}
|
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"
|
|
3
|
-
|
|
4
|
-
"wiim adapter settings": "Adapterinstellingen voor wiim"
|
|
5
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"Refresh_Interval": "interval voor het vernieuwen van spelergegevens in seconden"
|
|
3
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"Refresh_Interval": "
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"Refresh_Interval": "interwał odświeżania danych gracza w sekundach"
|
|
3
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"Refresh_Interval": "
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"Refresh_Interval": "intervalo para atualização de dados do jogador em segundos"
|
|
3
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"Refresh_Interval": "
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"Refresh_Interval": "интервал для обновления данных игрока в секундах"
|
|
3
|
+
}
|
|
@@ -1,4 +1,3 @@
|
|
|
1
|
-
{
|
|
2
|
-
"Refresh_Interval": "
|
|
3
|
-
|
|
4
|
-
}
|
|
1
|
+
{
|
|
2
|
+
"Refresh_Interval": "інтервал для оновлення даних гравця за секундами"
|
|
3
|
+
}
|
package/admin/words.js
CHANGED
|
@@ -5,11 +5,8 @@
|
|
|
5
5
|
| `translate-adapter adminLanguages2words` to update it. |
|
|
6
6
|
+===================== DO NOT MODIFY ======================+
|
|
7
7
|
*/
|
|
8
|
-
'use strict';
|
|
8
|
+
'use strict';
|
|
9
9
|
|
|
10
10
|
systemDictionary = {
|
|
11
|
-
"
|
|
12
|
-
"IP_Address": { "en": "IP address of device", "de": "IP address of device", "ru": "IP address of device", "pt": "IP address of device", "nl": "IP address of device", "fr": "IP address of device", "it": "IP address of device", "es": "IP address of device", "pl": "IP address of device", "uk": "IP address of device", "zh-cn": "IP address of device"},
|
|
13
|
-
"Refresh_Interval": { "en": "interval for refresh of player data in seconds", "de": "interval for refresh of player data in seconds", "ru": "interval for refresh of player data in seconds", "pt": "interval for refresh of player data in seconds", "nl": "interval for refresh of player data in seconds", "fr": "interval for refresh of player data in seconds", "it": "interval for refresh of player data in seconds", "es": "interval for refresh of player data in seconds", "pl": "interval for refresh of player data in seconds", "uk": "interval for refresh of player data in seconds", "zh-cn": "interval for refresh of player data in seconds"},
|
|
14
|
-
"Request_Type": { "en": "API request type: https for Wiim products, http for Arylic products", "de": "API request type: https for Wiim products, http for Arylic products", "ru": "API request type: https for Wiim products, http for Arylic products", "pt": "API request type: https for Wiim products, http for Arylic products", "nl": "API request type: https for Wiim products, http for Arylic products", "fr": "API request type: https for Wiim products, http for Arylic products", "it": "API request type: https for Wiim products, http for Arylic products", "es": "API request type: https for Wiim products, http for Arylic products", "pl": "API request type: https for Wiim products, http for Arylic products", "uk": "API request type: https for Wiim products, http for Arylic products", "zh-cn": "API request type: https for Wiim products, http for Arylic products"},
|
|
11
|
+
"Refresh_Interval": { "en": "interval for refresh of player data in seconds", "de": "Intervall für die Aktualisierung der Streamerdaten in Sekunden", "ru": "интервал для обновления данных игрока в секундах", "pt": "intervalo para atualização de dados do jogador em segundos", "nl": "interval voor het vernieuwen van spelergegevens in seconden", "fr": "intervalle pour rafraîchir les données du lecteur en secondes", "it": "intervallo per aggiornamento dei dati del giocatore in secondi", "es": "intervalo para la actualización de los datos del reproductor en segundos", "pl": "interwał odświeżania danych gracza w sekundach", "uk": "інтервал для оновлення даних гравця за секундами", "zh-cn": "玩家数据刷新间隔( 秒)"},
|
|
15
12
|
};
|
package/io-package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "wiim",
|
|
4
|
-
"version": "0.
|
|
4
|
+
"version": "0.3.0",
|
|
5
5
|
"news": {
|
|
6
|
-
"0.
|
|
7
|
-
"en": "improved
|
|
8
|
-
"de": "
|
|
9
|
-
"ru": "
|
|
10
|
-
"pt": "
|
|
11
|
-
"nl": "
|
|
12
|
-
"fr": "
|
|
13
|
-
"it": "
|
|
14
|
-
"es": "
|
|
15
|
-
"pl": "
|
|
16
|
-
"uk": "
|
|
17
|
-
"zh-cn": "
|
|
6
|
+
"0.3.0": {
|
|
7
|
+
"en": "improved bonjour device discovery",
|
|
8
|
+
"de": "Verbesserte Bonjour-Geräte-Erkennung",
|
|
9
|
+
"ru": "обнаружение устройства bonjour",
|
|
10
|
+
"pt": "melhorou a descoberta do dispositivo bonjour",
|
|
11
|
+
"nl": "verbeterde bonjour apparaat ontdekking",
|
|
12
|
+
"fr": "amélioration de la découverte de l'appareil de bonjour",
|
|
13
|
+
"it": "migliore scoperta del dispositivo bonjour",
|
|
14
|
+
"es": "mejora del descubrimiento del dispositivo bonjour",
|
|
15
|
+
"pl": "ulepszone wykrywanie urządzeń bonjour",
|
|
16
|
+
"uk": "покращений відкриття пристрою bonjour",
|
|
17
|
+
"zh-cn": "改进了胸罩设备的发现"
|
|
18
18
|
}
|
|
19
19
|
},
|
|
20
20
|
"titleLang": {
|
|
@@ -32,16 +32,16 @@
|
|
|
32
32
|
},
|
|
33
33
|
"desc": {
|
|
34
34
|
"en": "adapter to access Wiim/Arylic devices",
|
|
35
|
-
"de": "adapter
|
|
36
|
-
"ru": "
|
|
37
|
-
"pt": "
|
|
38
|
-
"nl": "adapter
|
|
39
|
-
"fr": "
|
|
40
|
-
"it": "
|
|
41
|
-
"es": "
|
|
42
|
-
"pl": "adapter
|
|
43
|
-
"uk": "
|
|
44
|
-
"zh-cn": "
|
|
35
|
+
"de": "adapter zum Zugriff auf Wiim/Arylic Geräte",
|
|
36
|
+
"ru": "адаптер для доступа к Wiim/Arylic устройствам",
|
|
37
|
+
"pt": "adaptador para acessar dispositivos Wiim/Arylic",
|
|
38
|
+
"nl": "adapter voor toegang tot Wiim/Arylic apparaten",
|
|
39
|
+
"fr": "adaptateur pour accéder aux appareils Wiim/Arylic",
|
|
40
|
+
"it": "adattatore per accedere ai dispositivi Wiim/Arylic",
|
|
41
|
+
"es": "adaptador para acceder a dispositivos Wiim/Arílico",
|
|
42
|
+
"pl": "adapter do dostępu do urządzeń Wiim / Aryl",
|
|
43
|
+
"uk": "адаптер для доступу Wiim/Arylic",
|
|
44
|
+
"zh-cn": "访问Wiim/Arylic设备的适配器"
|
|
45
45
|
},
|
|
46
46
|
"authors": [
|
|
47
47
|
"KaiIOB <Kaibrendel@kabelmail.de>"
|
package/package.json
CHANGED
package/wiim.js
CHANGED
|
@@ -104,7 +104,11 @@ class Wiim extends utils.Adapter {
|
|
|
104
104
|
*/
|
|
105
105
|
onUnload(callback) {
|
|
106
106
|
try {
|
|
107
|
-
clearTimeout(pollTimeout);
|
|
107
|
+
this.clearTimeout(pollTimeout);
|
|
108
|
+
this.clearInterval(bonjourInterval);
|
|
109
|
+
this.clearInterval(evalInterval);
|
|
110
|
+
this.clearInterval(outerInterval);
|
|
111
|
+
this.clearInterval(innerInterval);
|
|
108
112
|
pollTimeout = null;
|
|
109
113
|
callback();
|
|
110
114
|
} catch (e) {
|
|
@@ -352,7 +356,7 @@ async function getWiimData(mywiimadapter, reqtype, ServName, IP_Address) {
|
|
|
352
356
|
}
|
|
353
357
|
});
|
|
354
358
|
}).on('error', error => {
|
|
355
|
-
mywiimadapter.log.info(`
|
|
359
|
+
mywiimadapter.log.info(`Did not receive data from streamer ${ServName} at ${IP_Address}. Is it up and connected to same network?`);
|
|
356
360
|
});
|
|
357
361
|
|
|
358
362
|
const theDate = new Date();
|
|
@@ -364,6 +368,7 @@ async function getWiimData(mywiimadapter, reqtype, ServName, IP_Address) {
|
|
|
364
368
|
}, mywiimadapter.config.Refresh_Interval * 1000);
|
|
365
369
|
}
|
|
366
370
|
|
|
371
|
+
// *********************** Retrieve data from streamer@IP_address using command wiimcmd and reqtype http or https ************************
|
|
367
372
|
async function sendWiimcommand(mywiimadapter, wiimcmd, IP_Address, reqtype) {
|
|
368
373
|
const http = require(reqtype);
|
|
369
374
|
http.get(
|
|
@@ -377,6 +382,7 @@ async function sendWiimcommand(mywiimadapter, wiimcmd, IP_Address, reqtype) {
|
|
|
377
382
|
);
|
|
378
383
|
}
|
|
379
384
|
|
|
385
|
+
|
|
380
386
|
async function DataPointIni(mywiimadapter, StreamerIndex) {
|
|
381
387
|
const ServName = foundStreamerNames[StreamerIndex];
|
|
382
388
|
const myIPAddress = foundStreamerIPs[StreamerIndex];
|
|
@@ -418,7 +424,7 @@ async function DataPointIni(mywiimadapter, StreamerIndex) {
|
|
|
418
424
|
}
|
|
419
425
|
});
|
|
420
426
|
}).on('error', error => {
|
|
421
|
-
this.info.log(`
|
|
427
|
+
this.info.log(`Could not retrieve data from streamer ${ServName} at ${myIPAddress}. Is it up and connected to same network`);
|
|
422
428
|
});
|
|
423
429
|
|
|
424
430
|
await mywiimadapter.setObjectNotExistsAsync(`${ServName}.album`, {
|