diff --git a/README.md b/README.md index 32b72af..af751e6 100644 --- a/README.md +++ b/README.md @@ -63,7 +63,10 @@ browse in the [wiki](https://github.com/bolliy/ioBroker.sun2000/wiki) Placeholder for the next version (at the beginning of the line): ### **WORK IN PROGRESS** --> -### **WORK IN PROGRESS** +### 0.12.1 (2024-09-29) +* no warning from check the valid number during standby: "no irradiation" + +### 0.12.0 (2024-09-23) * Requirements from ioBroker Check and Service Bot #104 * added battery packs #85 * added config panel `Further Register` diff --git a/io-package.json b/io-package.json index 8827415..ded6801 100644 --- a/io-package.json +++ b/io-package.json @@ -1,8 +1,34 @@ { "common": { "name": "sun2000", - "version": "0.11.0", + "version": "0.12.1", "news": { + "0.12.1": { + "en": "no warning from check the valid number during standby: \"no irradiation\"", + "de": "keine warnung vor der prüfung der gültigen nummer im standby: \"keine bestrahlung\"", + "ru": "не предупредить проверить действительный номер во время ожидания: «без облучения»", + "pt": "sem aviso de verificar o número válido durante o standby: \"nenhuma irradiação\"", + "nl": "geen waarschuwing van controle van het geldige nummer tijdens standby: \"geen bestraling\"", + "fr": "aucun avertissement de vérifier le nombre valide en attente: \"pas d'irradiation\"", + "it": "nessun avviso da controllare il numero valido durante la standby: \"nessuna irradiazione\"", + "es": "no hay advertencia de comprobar el número válido durante la espera: \"no irradiación\"", + "pl": "brak ostrzeżenia z sprawdzenia poprawnego numeru podczas czuwania: \"brak napromieniowania\"", + "uk": "без попередження про перевірку дійсного числа під час очікування: \"не опромінення\"", + "zh-cn": "在待命时不检查有效号码的警告 : “ 不辐射 ”" + }, + "0.12.0": { + "en": "Requirements from ioBroker Check and Service Bot #104\nadded battery packs #85\nadded config panel `Further Register`", + "de": "Anforderungen an ioBroker Check und Service Bot #104\nakkupacks #85\nhinzufügen config panel `Weiter registrieren `", + "ru": "Требования от ioBroker Check and Service Bot #104\n#85\nдобавленная панель конфигурации `Further Register \"", + "pt": "Requisitos de ioBroker Check e Service Bot #104\npacotes de bateria adicionados #85\nadicionado painel de configuração `Further Register \"", + "nl": "Vereisten van ioBroker Check and Service Bot #104\ntoegevoegde batterijpakketten #85\ntoegevoegd config paneel \"Verder registreren\" Wat", + "fr": "Exigences de ioBroker Check and Service Bot #104\npacks de batterie supplémentaires #85\najouté panneau de configuration `Plus grand registre \"", + "it": "Requisiti da ioBroker Check and Service Bot #104\nbatterie aggiunte #85\naggiunto pannello di configurazione `Further Register #", + "es": "Requisitos de ioBroker Check and Service Bot #104\nañadir paquetes de batería #85\npanel de configuración añadido `Más registro `", + "pl": "Wymagania dotyczące kontroli ioBroker i serwisu Bot # 104\ndodany zestaw baterii # 85\ndodany panel konfiguracyjny \"Dalszy rejestr '", + "uk": "Вимоги до ioBroker Check and Service Bot #104\nдоданий акумуляторний пакет #85\nдодано панель налаштувань `Further Реєстр й", + "zh-cn": "ioBroker检查和服务瓶的所需经费#104\n添加电池包# 85\n添加配置面板“ 进一步登记” `" + }, "0.11.0": { "en": "added a donation link in the adapter settings\ndependency updated", "de": "einen spendenlink in den adaptereinstellungen hinzugefügt\naktualisierte abhängigkeit", @@ -67,32 +93,6 @@ "pl": "inverter model nazwa zbyt wiele znaków # 73", "uk": "ім'я інвертора занадто багато символів #73", "zh-cn": "翻转模型名称过多字符 # 73" - }, - "0.7.0": { - "en": "breaking changes\nNode.js 18.x or higher required\nioBroker host (js-controller) 5.x or higher", - "de": "änderungen\nNode.js 18.x oder höher erforderlich\nioBroker Host (js-controller) 5.x oder höher", - "ru": "изменения\nNode.js 18.x или выше требуется\nioBroker host (js-controller) 5.x или выше", - "pt": "alterações de ruptura\nNode.js 18.x ou superior requerido\nhospedeiro ioBroker (js-controller) 5.x ou superior", - "nl": "wijzigingen breken\nNode.js 18.x of hoger vereist\nioBroker host (js-controller) 5.x of hoger", - "fr": "casser les changements\nNode.js 18.x ou plus requis\nioBroker host (js-controller) 5.x ou plus", - "it": "cambiamenti di rottura\nNode.js 18.x o superiore richiesto\nioBroker host (js-controller) 5.x o superiore", - "es": "cambios de ruptura\nNode.js 18.x o superior requerido\nioBroker host (js-controller) 5.x o superior", - "pl": "łamanie zmian\nNode.js 18,x lub wyższa wymagana\njoBroker host (kontroler js-) 5.x lub wyższy", - "uk": "поломка змін\nNode.js 18.x або вище потрібно\nioBroker host (js-controller) 5.x або вище", - "zh-cn": "断开更改\n所需节点.js 18.x或更高\nioBroker 主机(js-controller) 5.x或更高" - }, - "0.6.2": { - "en": "standby detection adjusted\nImprovement of logs", - "de": "standby-erkennung angepasst\nVerbesserung der Protokolle", - "ru": "резервное обнаружение с поправкой\nСовершенствование журналов", - "pt": "detecção de espera ajustada\nMelhoria dos logs", - "nl": "stand-by detectie aangepast\nVerbetering van de logs", - "fr": "réglage de la détection en attente\nAmélioration des registres", - "it": "rilevamento standby regolato\nMiglioramento dei registri", - "es": "detección de reserva ajustada\nMejora de los registros", - "pl": "korekta detekcji czuwania\nPoprawa dzienników", - "uk": "автономне виявлення\nУдосконалення колод", - "zh-cn": "经调整的备用检测\n改进日志" } }, "titleLang": { @@ -247,7 +247,7 @@ "ms_log": false, "sl_active": false, "sl_meterId": 11, - "ds_bu" : true + "ds_bu": true }, "objects": [], "instanceObjects": [ diff --git a/lib/drivers/driver_inverter.js b/lib/drivers/driver_inverter.js index 120e8ef..87d498e 100644 --- a/lib/drivers/driver_inverter.js +++ b/lib/drivers/driver_inverter.js @@ -356,7 +356,7 @@ class InverterSun2000 extends DriverBase{ { address : 38233, length : 3, - info : 'Battery Pck 1 Charge And Discharge Power', + info : 'Battery Pack 1 Charge And Discharge Power', refresh : dataRefreshRate.high, type : deviceType.battery, states : [{ @@ -936,7 +936,7 @@ class InverterSun2000 extends DriverBase{ if (value >= from && value <= until) { return value; } - this.log.warn('_checkValidNumber '+value+' from: '+from+' until: '+until); + this.log.debug('_checkValidNumber '+value+' from: '+from+' until: '+until); return substWith; } return value; @@ -974,7 +974,8 @@ class InverterSun2000 extends DriverBase{ } if (modbusAllowed) { //430 = SUN2000-8KTL-M2 - if (this._modelId < 430) modbusAllowed = this.deviceStatus !== 0x0002; + if (this.deviceStatus === 0x0002 && this._modelId < 430) modbusAllowed = false; + //if (this._modelId < 430) modbusAllowed = this.deviceStatus !== 0x0002; if (this._errorCount > 3) modbusAllowed = false; } diff --git a/lib/tools.js b/lib/tools.js index ad1a1fc..d4ed1ca 100644 --- a/lib/tools.js +++ b/lib/tools.js @@ -27,6 +27,11 @@ class Logging { else this.adapter.log.info(msg); } + silly(msg) { + if (this._quiet) this.debug('Warn: '+msg); + else this.adapter.log.silly(msg); + } + warn(msg) { if (this._quiet) this.debug('Warn: '+msg); else this.adapter.log.warn(msg); diff --git a/main.js b/main.js index b9ac89b..7263671 100644 --- a/main.js +++ b/main.js @@ -343,7 +343,7 @@ class Sun2000 extends utils.Adapter { this.settings.sl.meterId = this.config.sl_meterId; //battery charge control this.settings.cb.tou = this.config.cb_tou; - //data scope + //further battery register this.settings.ds.batteryUnits = this.config.ds_bu; this.settings.ds.batteryPacks = this.config.ds_bp; diff --git a/package-lock.json b/package-lock.json index 705c4b7..e3ce758 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,15 +1,15 @@ { "name": "iobroker.sun2000", - "version": "0.11.0", + "version": "0.12.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "iobroker.sun2000", - "version": "0.11.0", + "version": "0.12.1", "license": "MIT", "dependencies": { - "@iobroker/adapter-core": "^3.1.6", + "@iobroker/adapter-core": "^3.2.1", "modbus-serial": "^8.0.17", "suncalc2": "^1.8.1", "tcp-port-used": "^1.0.2" @@ -20,12 +20,12 @@ "@alcalzone/release-script-plugin-license": "^3.7.0", "@alcalzone/release-script-plugin-manual-review": "^3.7.0", "@iobroker/adapter-dev": "^1.3.0", - "@iobroker/testing": "^4.1.3", + "@iobroker/testing": "^5.0.0", "@tsconfig/node16": "^16.1.3", "@types/chai": "^4.3.19", "@types/chai-as-promised": "^7.1.8", "@types/mocha": "^10.0.7", - "@types/node": "^22.5.5", + "@types/node": "^22.7.4", "@types/proxyquire": "^1.3.31", "@types/sinon": "^17.0.3", "@types/sinon-chai": "^3.2.12", @@ -34,9 +34,9 @@ "eslint": "^8.57.0", "mocha": "^10.7.3", "proxyquire": "^2.1.3", - "sinon": "^18.0.0", + "sinon": "^19.0.2", "sinon-chai": "^3.7.0", - "typescript": "~5.5.2" + "typescript": "~5.6.2" }, "engines": { "node": ">= 18" @@ -962,14 +962,14 @@ "dev": true }, "node_modules/@iobroker/adapter-core": { - "version": "3.1.6", - "resolved": "https://registry.npmjs.org/@iobroker/adapter-core/-/adapter-core-3.1.6.tgz", - "integrity": "sha512-cArv8IzVsP3r8HivsYwO02e5WueboIH9v66PkHSGtadeUQQKUyxV32dzirM6YArWcI6+Iw5USQgVR9E+ryP3xg==", + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/@iobroker/adapter-core/-/adapter-core-3.2.1.tgz", + "integrity": "sha512-sUvNZV5sUvg8TcucJ+CLDYgZ0sSivQEmkIaJQHNPU8yUBzOU//ECCc55gz+B2BVvgeGIN3fnmlCS9hOu7yOulw==", "engines": { - "npm": ">=7.0.0" + "node": ">=16" }, "peerDependencies": { - "@iobroker/types": "^6.0.0" + "@iobroker/types": "^6.0.11" } }, "node_modules/@iobroker/adapter-dev": { @@ -1010,75 +1010,33 @@ } }, "node_modules/@iobroker/testing": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/@iobroker/testing/-/testing-4.1.3.tgz", - "integrity": "sha512-PTfvlXQBXDJVX35bkJxzgjuMX6bEjUmB4Dy8+bWLqbOgyq1JQVrRn+ah5IB7hEf+4lP8wD0MpAjXFJTv3zfTvA==", + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/@iobroker/testing/-/testing-5.0.0.tgz", + "integrity": "sha512-JrtWaGrgTU5MGRZowwyrDHVz8nzh/1QUqiOo1g9SXrRwT3PH0f6wRQKfe/RKiULFD2O4N3isc7pqyZg/uv4wdA==", "dev": true, "dependencies": { - "alcalzone-shared": "~4.0.3", - "chai": "^4.3.7", - "chai-as-promised": "^7.1.1", - "debug": "^4.3.4", - "fs-extra": "^10.1.0", - "mocha": "^10.2.0", - "sinon": "^15.0.1", + "alcalzone-shared": "~4.0.8", + "chai": "^4.5.0", + "chai-as-promised": "^7.1.2", + "debug": "^4.3.7", + "fs-extra": "^11.2.0", + "mocha": "^10.7.3", + "sinon": "^19.0.2", "sinon-chai": "^3.7.0" } }, - "node_modules/@iobroker/testing/node_modules/@sinonjs/fake-timers": { - "version": "10.3.0", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-10.3.0.tgz", - "integrity": "sha512-V4BG07kuYSUkTCSBHG8G8TNhM+F19jXFWnQtzj+we8DrkpSBCee9Z3Ms8yiGer/dlmhe35/Xdgyo3/0rQKg7YA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0" - } - }, - "node_modules/@iobroker/testing/node_modules/nise": { - "version": "5.1.9", - "resolved": "https://registry.npmjs.org/nise/-/nise-5.1.9.tgz", - "integrity": "sha512-qOnoujW4SV6e40dYxJOb3uvuoPHtmLzIk4TFo+j0jPJoC+5Z9xja5qH5JZobEPsa8+YYphMrOSwnrshEhG2qww==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^11.2.2", - "@sinonjs/text-encoding": "^0.7.2", - "just-extend": "^6.2.0", - "path-to-regexp": "^6.2.1" - } - }, - "node_modules/@iobroker/testing/node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "11.3.1", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.3.1.tgz", - "integrity": "sha512-EVJO7nW5M/F5Tur0Rf2z/QoMo+1Ia963RiMtapiQrEWvY0iBUvADo8Beegwjpnle5BHkyHuoxSTW3jF43H1XRA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.1" - } - }, - "node_modules/@iobroker/testing/node_modules/path-to-regexp": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-6.3.0.tgz", - "integrity": "sha512-Yhpw4T9C6hPpgPeA28us07OJeqZ5EzQTkbfwuhsUg0c237RomFoETJgmp2sa3F/41gfLE6G5cqcYwznmeEeOlQ==", - "dev": true - }, - "node_modules/@iobroker/testing/node_modules/sinon": { - "version": "15.2.0", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-15.2.0.tgz", - "integrity": "sha512-nPS85arNqwBXaIsFCkolHjGIkFo+Oxu9vbgmBJizLAhqe6P2o3Qmj3KCUoRkfhHtvgDhZdWD3risLHAUJ8npjw==", - "deprecated": "16.1.1", + "node_modules/@iobroker/testing/node_modules/fs-extra": { + "version": "11.2.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.2.0.tgz", + "integrity": "sha512-PmDi3uwK5nFuXh7XDTlVnS17xJS7vW36is2+w3xcv8SVxiB4NyATf4ctkVY5bkSjX0Y4nbvZCq1/EjtEyr9ktw==", "dev": true, "dependencies": { - "@sinonjs/commons": "^3.0.0", - "@sinonjs/fake-timers": "^10.3.0", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.1.0", - "nise": "^5.1.4", - "supports-color": "^7.2.0" + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/sinon" + "engines": { + "node": ">=14.14" } }, "node_modules/@iobroker/types": { @@ -1451,12 +1409,12 @@ } }, "node_modules/@sinonjs/fake-timers": { - "version": "11.2.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-11.2.2.tgz", - "integrity": "sha512-G2piCSxQ7oWOxwGSAyFHfPIsyeJGXYtc6mFbnFA+kRXkiEnTl8c/8jul2S329iFBnDI9HGoeWWAZvuvOkZccgw==", + "version": "13.0.2", + "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.2.tgz", + "integrity": "sha512-4Bb+oqXZTSTZ1q27Izly9lv8B9dlV61CROxPiVtywwzv5SnytJqhvYe6FclHYuXml4cd1VHPo1zd5PmTeJozvA==", "dev": true, "dependencies": { - "@sinonjs/commons": "^3.0.0" + "@sinonjs/commons": "^3.0.1" } }, "node_modules/@sinonjs/samsam": { @@ -1557,9 +1515,9 @@ "dev": true }, "node_modules/@types/node": { - "version": "22.5.5", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.5.5.tgz", - "integrity": "sha512-Xjs4y5UPO/CLdzpgR6GirZJx36yScjh73+2NlLlkFRSoQN8B0DpfXPdZGnvVmLRLOsqDpOfTNv7D9trgGhmOIA==", + "version": "22.7.4", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.7.4.tgz", + "integrity": "sha512-y+NPi1rFzDs1NdQHHToqeiX2TIS79SWEAw9GYhkkx8bD0ChpfqC+n2j5OXOCpzfojBEBt6DnEnnG9MY0zk1XLg==", "dev": true, "dependencies": { "undici-types": "~6.19.2" @@ -3765,15 +3723,6 @@ "path-to-regexp": "^8.1.0" } }, - "node_modules/nise/node_modules/@sinonjs/fake-timers": { - "version": "13.0.2", - "resolved": "https://registry.npmjs.org/@sinonjs/fake-timers/-/fake-timers-13.0.2.tgz", - "integrity": "sha512-4Bb+oqXZTSTZ1q27Izly9lv8B9dlV61CROxPiVtywwzv5SnytJqhvYe6FclHYuXml4cd1VHPo1zd5PmTeJozvA==", - "dev": true, - "dependencies": { - "@sinonjs/commons": "^3.0.1" - } - }, "node_modules/node-addon-api": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-7.0.0.tgz", @@ -4404,17 +4353,17 @@ "dev": true }, "node_modules/sinon": { - "version": "18.0.1", - "resolved": "https://registry.npmjs.org/sinon/-/sinon-18.0.1.tgz", - "integrity": "sha512-a2N2TDY1uGviajJ6r4D1CyRAkzE9NNVlYOV1wX5xQDuAk0ONgzgRl0EjCQuRCPxOwp13ghsMwt9Gdldujs39qw==", + "version": "19.0.2", + "resolved": "https://registry.npmjs.org/sinon/-/sinon-19.0.2.tgz", + "integrity": "sha512-euuToqM+PjO4UgXeLETsfQiuoyPXlqFezr6YZDFwHR3t4qaX0fZUe1MfPMznTL5f8BWrVS89KduLdMUsxFCO6g==", "dev": true, "dependencies": { "@sinonjs/commons": "^3.0.1", - "@sinonjs/fake-timers": "11.2.2", - "@sinonjs/samsam": "^8.0.0", - "diff": "^5.2.0", - "nise": "^6.0.0", - "supports-color": "^7" + "@sinonjs/fake-timers": "^13.0.2", + "@sinonjs/samsam": "^8.0.1", + "diff": "^7.0.0", + "nise": "^6.1.1", + "supports-color": "^7.2.0" }, "funding": { "type": "opencollective", @@ -4431,6 +4380,15 @@ "sinon": ">=4.0.0" } }, + "node_modules/sinon/node_modules/diff": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/diff/-/diff-7.0.0.tgz", + "integrity": "sha512-PJWHUb1RFevKCwaFA9RlG5tCd+FO5iRh9A8HEtkmBH2Li03iJriB6m6JIN4rGz3K3JLawI7/veA1xzRKP6ISBw==", + "dev": true, + "engines": { + "node": ">=0.3.1" + } + }, "node_modules/source-map": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", @@ -4688,9 +4646,9 @@ } }, "node_modules/typescript": { - "version": "5.5.4", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.5.4.tgz", - "integrity": "sha512-Mtq29sKDAEYP7aljRgtPOpTvOfbwRWlS6dPRzwjdE+C0R4brX/GUyhHSecbHMFLNBLcJIPt9nl9yG5TZ1weH+Q==", + "version": "5.6.2", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.6.2.tgz", + "integrity": "sha512-NW8ByodCSNCwZeghjN3o+JX5OFH0Ojg6sadjEKY4huZ52TqbJTJnDo5+Tw98lSy63NZvi4n+ez5m2u5d4PkZyw==", "dev": true, "bin": { "tsc": "bin/tsc", diff --git a/package.json b/package.json index 19e1361..40ac4a2 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "iobroker.sun2000", - "version": "0.11.0", + "version": "0.12.1", "description": "sun2000", "author": { "name": "bolliy", @@ -27,7 +27,7 @@ "node": ">= 18" }, "dependencies": { - "@iobroker/adapter-core": "^3.1.6", + "@iobroker/adapter-core": "^3.2.1", "modbus-serial": "^8.0.17", "suncalc2": "^1.8.1", "tcp-port-used": "^1.0.2" @@ -38,12 +38,12 @@ "@alcalzone/release-script-plugin-license": "^3.7.0", "@alcalzone/release-script-plugin-manual-review": "^3.7.0", "@iobroker/adapter-dev": "^1.3.0", - "@iobroker/testing": "^4.1.3", + "@iobroker/testing": "^5.0.0", "@tsconfig/node16": "^16.1.3", "@types/chai": "^4.3.19", "@types/chai-as-promised": "^7.1.8", "@types/mocha": "^10.0.7", - "@types/node": "^22.5.5", + "@types/node": "^22.7.4", "@types/proxyquire": "^1.3.31", "@types/sinon": "^17.0.3", "@types/sinon-chai": "^3.2.12", @@ -52,9 +52,9 @@ "eslint": "^8.57.0", "mocha": "^10.7.3", "proxyquire": "^2.1.3", - "sinon": "^18.0.0", + "sinon": "^19.0.2", "sinon-chai": "^3.7.0", - "typescript": "~5.5.2" + "typescript": "~5.6.2" }, "main": "main.js", "files": [