Skip to content

Commit 9b07df4

Browse files
authored
Merge pull request #304 from Grizzelbee/development
fixed test cases
2 parents 8e57861 + 963635d commit 9b07df4

6 files changed

+21
-38
lines changed

dyson-utils.js

+1-1
Original file line numberDiff line numberDiff line change
@@ -406,7 +406,7 @@ module.exports.deleteUnusedFields = async function (self, device) {
406406
for (const field of dysonConstants.FIELDSTODELETE) {
407407
const id = device + field;
408408
self.log.debug(`Looking for deprecated field: ${id}`);
409-
self.getObject(id, (err, oldObj) => {
409+
self.getObject(id, null, (err, oldObj) => {
410410
if (!err && oldObj) {
411411
self.log.info(`Deleting deprecated field: ${id}`);
412412
self.delObject(id);

dyson-utils.test.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -51,15 +51,15 @@ describe('dyson-utils', () => {
5151
};
5252

5353
context('given an invalid adapter configuration', () => {
54-
it('should throw', () => {
54+
it('should not throw - but wait for configuration', () => {
5555
fakeAdapter.config = {
5656
temperatureUnit: '',
5757
pollInterval: '',
5858
country: '',
5959
email: '',
6060
Password: ''
6161
};
62-
expect(() => dysonUtils.checkAdapterConfig(fakeAdapter)).to.throw();
62+
expect(() => dysonUtils.checkAdapterConfig(fakeAdapter)).to.not.throw();
6363
});
6464
});
6565

io-package.json

+1-19
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
{
22
"common": {
33
"name": "dysonairpurifier",
4-
"version": "3.2.2-beta-3",
4+
"version": "3.2.2",
55
"news": {
66
"3.2.2": {
77
"en": "Fix: Fixed polling which got broken in v3.1.10\nChg: Dependencies got updated",
@@ -171,19 +171,6 @@
171171
"pl": "zależności zostały zaktualizowane\nNaprawiono wartości PM2.5, PM10, VOC, NO2\nNaprawiono indeksy PM2.5, PM10, VOC\nZaktualizowano interfejs administratora do jsonConfig",
172172
"uk": "залежності оновлено\nВиправлено значення PM2.5, PM10, VOC, NO2\nВиправлено індекси PM2.5, PM10, VOC\nОновлено інтерфейс адміністратора до jsonConfig",
173173
"zh-cn": "更新了依赖项\n修复了 PM2.5、PM10、VOC、NO2 值\n修复了 PM2.5、PM10、VOC 索引\n将管理 UI 更新为 jsonConfig"
174-
},
175-
"3.0.0": {
176-
"en": "\nUpd: dependencies got updated \nNew: Added HCHO-Index \nBREAKING CHANGES: \nReplaced values in field pm25 with values from pm25r and calculating them accordingly to the dyson App \nReplaced values in field pm10 with values from pm10r and calculating them accordingly to the dyson App \nReplaced values in field hcho with values from hchr and calculating them accordingly to the dyson App \nFields pm25r and pm10r are now deprecated and will be removed",
177-
"de": "\nAktualisiert: Abhängigkeiten wurden aktualisiert. \nNeu: HCHO-Index hinzugefügt Die Dyson-App \nWerte im Feld hcho durch Werte aus hchr ersetzt und entsprechend in der Dyson-App berechnet \nDie Felder pm25r und pm10r sind jetzt veraltet und werden entfernt",
178-
"ru": "\nОбновление: обновлены зависимости \nНовое: добавлен индекс HCHO \nСЕРЬЕЗНЫЕ ИЗМЕНЕНИЯ: \nЗаменены значения в поле pm25 на значения из pm25r и расчет их в соответствии с приложением Dyson \nЗаменены значения в поле pm10 значениями из pm10r и расчет их в соответствии с приложение Dyson \nЗаменены значения в поле hcho значениями из hchr и расчет их в соответствии с приложением Dyson \nПоля pm25r и pm10r устарели и будут удалены.",
179-
"pt": "\nAtualização: dependências foram atualizadas \nNovo: Índice HCHO adicionado \nALTERAÇÕES ÚLTIMAS: \nValores substituídos no campo pm25 por valores de pm25r e cálculo deles de acordo com o aplicativo dyson \nValores substituídos no campo pm10 por valores de pm10r e cálculo deles de acordo com o aplicativo dyson \nValores substituídos no campo hcho por valores de hchr e cálculo deles de acordo com o aplicativo dyson \nOs campos pm25r e pm10r agora estão obsoletos e serão removidos",
180-
"nl": "\nUpd: afhankelijkheden zijn bijgewerkt \nNieuw: HCHO-index toegevoegd \nBREAKING CHANGES: \nWaarden in veld pm25 vervangen door waarden uit pm25r en deze overeenkomstig berekend met de dyson-app \nWaarden in veld pm10 vervangen door waarden uit pm10r en deze overeenkomstig berekend de dyson-app \nWaarden in veld hcho vervangen door waarden uit hchr en deze overeenkomstig berekend met de dyson-app \nVelden pm25r en pm10r zijn nu verouderd en worden verwijderd",
181-
"fr": "\nMise à jour : les dépendances ont été mises à jour \nNouveau : ajout de l'index HCHO \nCHANGEMENTS RUPTURE : \nRemplacement des valeurs dans le champ pm25 par les valeurs de pm25r et calcul de celles-ci en fonction de l'application Dyson \nRemplacement des valeurs dans le champ pm10 par les valeurs de pm10r et calcul de celles-ci en conséquence l'application dyson \nRemplacement des valeurs dans le champ hcho par les valeurs de hchr et calcul de celles-ci en conséquence selon l'application dyson \nLes champs pm25r et pm10r sont désormais obsolètes et seront supprimés",
182-
"it": "\nAggiornamento: le dipendenze sono state aggiornate \nNovità: aggiunto indice HCHO \nMODIFICHE ROTANTI: \nSostituiti i valori nel campo pm25 con valori da pm25r e calcolandoli in base all'app Dyson \nSostituiti i valori nel campo pm10 con valori da pm10r e calcolandoli in base a l'app Dyson \nSostituiti i valori nel campo hcho con i valori di hchr e calcolandoli di conseguenza all'app Dyson \nI campi pm25r e pm10r sono ora deprecati e verranno rimossi",
183-
"es": "\nActualización: se actualizaron las dependencias \nNuevo: Índice HCHO agregado \nCAMBIOS IMPORTANTES: \nSe reemplazaron los valores en el campo pm25 con valores de pm25r y se calcularon de acuerdo con la aplicación Dyson \nSe reemplazaron los valores en el campo pm10 con valores de pm10r y se calcularon de acuerdo con la aplicación Dyson \nSe reemplazaron los valores en el campo hcho con valores de hchr y se calcularon de acuerdo con la aplicación Dyson \nLos campos pm25r y pm10r ahora están obsoletos y se eliminarán",
184-
"pl": "\nAktualizacja: zaktualizowano zależności \nNowość: Dodano HCHO-Index \nPIERWSZE ZMIANY: \nZastąpiono wartości w polu pm25 wartościami z pm25r i przeliczono je zgodnie z aplikacją dyson \nZastąpiono wartości w polu pm10 wartościami z pm10r i przeliczono je odpowiednio do aplikacja dyson \nZastąpiono wartości w polu hcho wartościami z hchr i przeliczono je zgodnie z aplikacją dyson \nPola pm25r i pm10r są obecnie przestarzałe i zostaną usunięte",
185-
"uk": "\nОновлено: оновлено залежності \nНове: додано HCHO-індекс \nОСНОВНІ ЗМІНИ: \nЗамінено значення в полі pm25 на значення з pm25r і обчислення їх відповідно до програми dyson \nЗамінено значення в полі pm10 на значення з pm10r і обчислення їх відповідно до програма dyson \nЗамінено значення в полі hcho на значення з hchr і обчислення їх відповідно до програми dyson \nПоля pm25r і pm10r тепер не підтримуються та будуть видалені",
186-
"zh-cn": "\n更新:依赖项已更新 \n新功能:添加了 HCHO 索引 \n重大更改: \n将字段 pm25 中的值替换为 pm25r 中的值,并根据 Dyson 应用程序相应地计算它们 \n将字段 pm10 中的值替换为 pm10r 中的值,并相应地计算它们Dyson 应用程序 \n将字段 hcho 中的值替换为 hchr 中的值,并根据 Dyson 应用程序相应地计算它们 \n字段 pm25r 和 pm10r 现已弃用并将被删除"
187174
}
188175
},
189176
"titleLang": {
@@ -251,11 +238,6 @@
251238
"js-controller": ">=5.0.16"
252239
}
253240
],
254-
"plugins": {
255-
"sentry": {
256-
"dsn": "https://1016f555431c4acfb16b2481019aa1aa@o505019.ingest.sentry.io/5735771"
257-
}
258-
},
259241
"messages": [
260242
{
261243
"condition": {

main.js

+5-4
Original file line numberDiff line numberDiff line change
@@ -1516,7 +1516,7 @@ class dysonAirPurifier extends utils.Adapter {
15161516
* @param {string} device path to the device incl. Serial
15171517
* @param {string} state state to set (online, offline, reconnecting, ...)
15181518
*/
1519-
setDeviceOnlineState(device, state) {
1519+
async setDeviceOnlineState(device, state) {
15201520
this.createOrExtendObject(
15211521
`${device}.Online`,
15221522
{
@@ -1580,12 +1580,14 @@ class dysonAirPurifier extends utils.Adapter {
15801580
* Exit adapter
15811581
* @param {() => unknown} callback
15821582
*/
1583-
onUnload(callback) {
1583+
async onUnload(callback) {
15841584
try {
15851585
for (const DEVICE in devices) {
15861586
const thisDevice = devices[DEVICE];
15871587
clearTimeout(thisDevice.updateIntervalHandle);
15881588
this.log.info(`Cleaned up timeout for ${thisDevice.Serial}.`);
1589+
await this.setDeviceOnlineState(thisDevice.Serial, 'offline');
1590+
this.log.debug(`Set device ${thisDevice.Serial} to offline.`);
15891591
// todo unsubscribe to any subscribes
15901592
}
15911593
this.setState('info.connection', false, true);
@@ -1597,8 +1599,7 @@ class dysonAirPurifier extends utils.Adapter {
15971599
}
15981600
}
15991601

1600-
// @ts-ignore parent is a valid property on module
1601-
if (module.parent) {
1602+
if (require.main !== module) {
16021603
// Export the constructor in compact mode
16031604
/**
16041605
* @param {Partial<utils.AdapterOptions> & {temperatureUnit: 'K' | 'C' | 'F'}} options

package-lock.json

+9-9
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

+3-3
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "iobroker.dysonairpurifier",
3-
"version": "3.2.2-beta-3",
3+
"version": "3.2.2",
44
"description": "dyson air purifiers and fans",
55
"author": {
66
"name": "grizzelbee",
@@ -54,7 +54,7 @@
5454
"flatted": "^3.3.1",
5555
"https": "^1.0.0",
5656
"lodash": "^4.17.21",
57-
"mqtt": "^5.7.1",
57+
"mqtt": "^5.7.2",
5858
"path": "^0.12.7"
5959
},
6060
"devDependencies": {
@@ -65,7 +65,7 @@
6565
"@types/chai": "^4.3.16",
6666
"@types/chai-as-promised": "^7.1.8",
6767
"@types/mocha": "^10.0.6",
68-
"@types/node": "^20.14.5",
68+
"@types/node": "^20.14.7",
6969
"@types/proxyquire": "^1.3.31",
7070
"@types/sinon": "^17.0.3",
7171
"@types/sinon-chai": "^3.2.12",

0 commit comments

Comments
 (0)