iobroker.zendure-solarflow 2.0.2 → 2.0.3
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 +2 -2
- package/build/helpers/helpers.js +1 -1
- package/build/helpers/helpers.js.map +2 -2
- package/io-package.json +10 -10
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -63,9 +63,9 @@ You will be logged out of the official iOS or Android App after logging in with
|
|
|
63
63
|
Credits goes to https://github.com/reinhard-brandstaedter/solarflow which helped a lot with the knowledge about the MQTT server from Zendure! Thanks!
|
|
64
64
|
|
|
65
65
|
## Changelog
|
|
66
|
-
### 2.0.
|
|
66
|
+
### 2.0.3 (2025-09-09)
|
|
67
67
|
|
|
68
|
-
- Added 'B3Dxda' as new Hyper 2000
|
|
68
|
+
- Added 'B3Dxda' as new Hyper 2000 productKey
|
|
69
69
|
- Removed parameter 'upTime' and 'pullTime' from 'setDeviceAutomationInOutLimit'
|
|
70
70
|
- TEST: Use 'setDeviceAutomationInOutLimit' to let HUB1200/HUB2000 charge with connected ACE 1500
|
|
71
71
|
|
package/build/helpers/helpers.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/helpers/helpers.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable @typescript-eslint/indent */\n\nexport const getProductNameFromProductKey = (productKey: string): string => {\n switch (productKey.toLowerCase()) {\n case \"73bktv\":\n return \"solarflow2.0\";\n case \"a8yh63\":\n return \"solarflow hub 2000\";\n case \"ywf7hv\":\n return \"solarflow aio zy\";\n case \"ja72u0ha\":\n return \"hyper 2000\";\n case \"gda3tb\":\n return \"hyper 2000\";\n case \"b3dxda\":\n \"hyper 2000\";\n case \"8bm93h\":\n return \"ace 1500\";\n case \"bc8b7f\":\n return \"solarflow 2400 ac\";\n case \"b1nhmc\":\n return \"solarflow 800\";\n default:\n return \"\";\n }\n};\n\nexport const getMinAndMaxOutputLimitForProductKey = (\n productKey: string,\n limit: number\n): number => {\n const productName = getProductNameFromProductKey(productKey);\n\n if (limit < 100 && limit != 90 && limit != 60 && limit != 30 && limit != 0) {\n // NUR Solarflow HUB: Das Limit kann unter 100 nur in 30er Schritten gesetzt werden, dH. 30/60/90/100, wir rechnen das also um\n if (\n limit < 100 &&\n limit > 90 &&\n !productName?.includes(\"hyper\") &&\n !productName?.includes(\"2400 ac\") &&\n !productName?.includes(\"solarflow 800\")\n ) {\n limit = 90;\n } else if (\n limit > 60 &&\n limit < 90 &&\n !productName?.includes(\"hyper\") &&\n !productName?.includes(\"2400 ac\") &&\n !productName?.includes(\"solarflow 800\")\n ) {\n limit = 60;\n } else if (\n limit > 30 &&\n limit < 60 &&\n !productName?.includes(\"hyper\") &&\n !productName?.includes(\"2400 ac\") &&\n !productName?.includes(\"solarflow 800\")\n ) {\n limit = 30;\n } else if (limit < 30) {\n limit = 30;\n }\n }\n\n switch (productName?.toLocaleLowerCase()) {\n case \"hyper 2000\":\n if (limit > 1200) {\n limit = 1200;\n }\n break;\n case \"solarflow 800\":\n if (limit > 800) {\n limit = 800;\n }\n break;\n case \"solarflow2.0\":\n if (limit > 1200) {\n limit = 1200;\n }\n break;\n case \"solarflow hub 2000\":\n if (limit > 1200) {\n limit = 1200;\n }\n break;\n case \"solarflow aio zy\":\n if (limit > 1200) {\n limit = 1200;\n }\n break;\n case \"solarflow 800 pro\":\n if (limit > 800) {\n limit = 800;\n }\n break;\n case \"solarflow 2400 ac\":\n if (limit > 2400) {\n limit = 2400;\n }\n break;\n default:\n break;\n }\n\n return limit;\n};\n\nexport const getMinAndMaxInputLimitForProductKey = (\n productKey: string,\n limit: number\n): number => {\n let maxLimit = 900;\n\n const productName = getProductNameFromProductKey(productKey);\n\n if (productName?.includes(\"hyper\")) {\n maxLimit = 1200;\n }\n\n if (productName?.includes(\"2400 ac\")) {\n maxLimit = 2400;\n }\n\n if (productName?.includes(\"solarflow 800\")) {\n maxLimit = 800;\n }\n\n if (productName?.includes(\"ace\")) {\n // Das Limit kann nur in 100er Schritten gesetzt werden\n limit = Math.ceil(limit / 100) * 100;\n }\n\n if (limit < 0) {\n limit = 0;\n } else if (limit > 0 && limit <= 30) {\n limit = 30;\n } else if (limit > maxLimit) {\n limit = maxLimit;\n }\n\n return limit;\n};\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,+BAA+B,CAAC,eAA+B;AAC1E,UAAQ,WAAW,YAAY,GAAG;AAAA,IAChC,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH;AAAA,
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/indent */\n\nexport const getProductNameFromProductKey = (productKey: string): string => {\n switch (productKey.toLowerCase()) {\n case \"73bktv\":\n return \"solarflow2.0\";\n case \"a8yh63\":\n return \"solarflow hub 2000\";\n case \"ywf7hv\":\n return \"solarflow aio zy\";\n case \"ja72u0ha\":\n return \"hyper 2000\";\n case \"gda3tb\":\n return \"hyper 2000\";\n case \"b3dxda\":\n return \"hyper 2000\";\n case \"8bm93h\":\n return \"ace 1500\";\n case \"bc8b7f\":\n return \"solarflow 2400 ac\";\n case \"b1nhmc\":\n return \"solarflow 800\";\n default:\n return \"\";\n }\n};\n\nexport const getMinAndMaxOutputLimitForProductKey = (\n productKey: string,\n limit: number\n): number => {\n const productName = getProductNameFromProductKey(productKey);\n\n if (limit < 100 && limit != 90 && limit != 60 && limit != 30 && limit != 0) {\n // NUR Solarflow HUB: Das Limit kann unter 100 nur in 30er Schritten gesetzt werden, dH. 30/60/90/100, wir rechnen das also um\n if (\n limit < 100 &&\n limit > 90 &&\n !productName?.includes(\"hyper\") &&\n !productName?.includes(\"2400 ac\") &&\n !productName?.includes(\"solarflow 800\")\n ) {\n limit = 90;\n } else if (\n limit > 60 &&\n limit < 90 &&\n !productName?.includes(\"hyper\") &&\n !productName?.includes(\"2400 ac\") &&\n !productName?.includes(\"solarflow 800\")\n ) {\n limit = 60;\n } else if (\n limit > 30 &&\n limit < 60 &&\n !productName?.includes(\"hyper\") &&\n !productName?.includes(\"2400 ac\") &&\n !productName?.includes(\"solarflow 800\")\n ) {\n limit = 30;\n } else if (limit < 30) {\n limit = 30;\n }\n }\n\n switch (productName?.toLocaleLowerCase()) {\n case \"hyper 2000\":\n if (limit > 1200) {\n limit = 1200;\n }\n break;\n case \"solarflow 800\":\n if (limit > 800) {\n limit = 800;\n }\n break;\n case \"solarflow2.0\":\n if (limit > 1200) {\n limit = 1200;\n }\n break;\n case \"solarflow hub 2000\":\n if (limit > 1200) {\n limit = 1200;\n }\n break;\n case \"solarflow aio zy\":\n if (limit > 1200) {\n limit = 1200;\n }\n break;\n case \"solarflow 800 pro\":\n if (limit > 800) {\n limit = 800;\n }\n break;\n case \"solarflow 2400 ac\":\n if (limit > 2400) {\n limit = 2400;\n }\n break;\n default:\n break;\n }\n\n return limit;\n};\n\nexport const getMinAndMaxInputLimitForProductKey = (\n productKey: string,\n limit: number\n): number => {\n let maxLimit = 900;\n\n const productName = getProductNameFromProductKey(productKey);\n\n if (productName?.includes(\"hyper\")) {\n maxLimit = 1200;\n }\n\n if (productName?.includes(\"2400 ac\")) {\n maxLimit = 2400;\n }\n\n if (productName?.includes(\"solarflow 800\")) {\n maxLimit = 800;\n }\n\n if (productName?.includes(\"ace\")) {\n // Das Limit kann nur in 100er Schritten gesetzt werden\n limit = Math.ceil(limit / 100) * 100;\n }\n\n if (limit < 0) {\n limit = 0;\n } else if (limit > 0 && limit <= 30) {\n limit = 30;\n } else if (limit > maxLimit) {\n limit = maxLimit;\n }\n\n return limit;\n};\n"],
|
|
5
|
+
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAAA;AAEO,MAAM,+BAA+B,CAAC,eAA+B;AAC1E,UAAQ,WAAW,YAAY,GAAG;AAAA,IAChC,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT,KAAK;AACH,aAAO;AAAA,IACT;AACE,aAAO;AAAA,EACX;AACF;AAEO,MAAM,uCAAuC,CAClD,YACA,UACW;AACX,QAAM,cAAc,6BAA6B,UAAU;AAE3D,MAAI,QAAQ,OAAO,SAAS,MAAM,SAAS,MAAM,SAAS,MAAM,SAAS,GAAG;AAE1E,QACE,QAAQ,OACR,QAAQ,MACR,EAAC,2CAAa,SAAS,aACvB,EAAC,2CAAa,SAAS,eACvB,EAAC,2CAAa,SAAS,mBACvB;AACA,cAAQ;AAAA,IACV,WACE,QAAQ,MACR,QAAQ,MACR,EAAC,2CAAa,SAAS,aACvB,EAAC,2CAAa,SAAS,eACvB,EAAC,2CAAa,SAAS,mBACvB;AACA,cAAQ;AAAA,IACV,WACE,QAAQ,MACR,QAAQ,MACR,EAAC,2CAAa,SAAS,aACvB,EAAC,2CAAa,SAAS,eACvB,EAAC,2CAAa,SAAS,mBACvB;AACA,cAAQ;AAAA,IACV,WAAW,QAAQ,IAAI;AACrB,cAAQ;AAAA,IACV;AAAA,EACF;AAEA,UAAQ,2CAAa,qBAAqB;AAAA,IACxC,KAAK;AACH,UAAI,QAAQ,MAAM;AAChB,gBAAQ;AAAA,MACV;AACA;AAAA,IACF,KAAK;AACH,UAAI,QAAQ,KAAK;AACf,gBAAQ;AAAA,MACV;AACA;AAAA,IACF,KAAK;AACH,UAAI,QAAQ,MAAM;AAChB,gBAAQ;AAAA,MACV;AACA;AAAA,IACF,KAAK;AACH,UAAI,QAAQ,MAAM;AAChB,gBAAQ;AAAA,MACV;AACA;AAAA,IACF,KAAK;AACH,UAAI,QAAQ,MAAM;AAChB,gBAAQ;AAAA,MACV;AACA;AAAA,IACF,KAAK;AACH,UAAI,QAAQ,KAAK;AACf,gBAAQ;AAAA,MACV;AACA;AAAA,IACF,KAAK;AACH,UAAI,QAAQ,MAAM;AAChB,gBAAQ;AAAA,MACV;AACA;AAAA,IACF;AACE;AAAA,EACJ;AAEA,SAAO;AACT;AAEO,MAAM,sCAAsC,CACjD,YACA,UACW;AACX,MAAI,WAAW;AAEf,QAAM,cAAc,6BAA6B,UAAU;AAE3D,MAAI,2CAAa,SAAS,UAAU;AAClC,eAAW;AAAA,EACb;AAEA,MAAI,2CAAa,SAAS,YAAY;AACpC,eAAW;AAAA,EACb;AAEA,MAAI,2CAAa,SAAS,kBAAkB;AAC1C,eAAW;AAAA,EACb;AAEA,MAAI,2CAAa,SAAS,QAAQ;AAEhC,YAAQ,KAAK,KAAK,QAAQ,GAAG,IAAI;AAAA,EACnC;AAEA,MAAI,QAAQ,GAAG;AACb,YAAQ;AAAA,EACV,WAAW,QAAQ,KAAK,SAAS,IAAI;AACnC,YAAQ;AAAA,EACV,WAAW,QAAQ,UAAU;AAC3B,YAAQ;AAAA,EACV;AAEA,SAAO;AACT;",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/io-package.json
CHANGED
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
{
|
|
2
2
|
"common": {
|
|
3
3
|
"name": "zendure-solarflow",
|
|
4
|
-
"version": "2.0.
|
|
4
|
+
"version": "2.0.3",
|
|
5
5
|
"news": {
|
|
6
|
-
"2.0.
|
|
7
|
-
"en": "Added 'B3Dxda' as new Hyper 2000
|
|
8
|
-
"de": "B3Dxda' als neuer Hyper 2000
|
|
6
|
+
"2.0.3": {
|
|
7
|
+
"en": "Added 'B3Dxda' as new Hyper 2000 productKey. Removed parameter 'upTime' and 'pullTime' from 'setDeviceAutomationInOutLimit'. TEST: Use 'setDeviceAutomationInOutLimit' to let HUB1200/HUB2000 charge with connected ACE 1500",
|
|
8
|
+
"de": "B3Dxda' als neuer Hyper 2000 productKey hinzugefügt. Parameter 'upTime' und 'pullTime' aus 'setDeviceAutomationInOutLimit' entfernt. TEST: Verwenden Sie 'setDeviceAutomationInOutLimit', um HUB1200/HUB2000 mit angeschlossenem ACE 1500 laden zu lassen.",
|
|
9
9
|
"ru": "Добавлен 'B3Dxda' в качестве нового ключа устройства Hyper 2000. Удалены параметры 'upTime' и 'pullTime' из 'setDeviceAutomationInOutLimit'. ТЕСТ: Используйте 'setDeviceAutomationInOutLimit', чтобы позволить HUB1200/HUB2000 заряжаться с подключенным ACE 1500.",
|
|
10
|
-
"pt": "Adicionado 'B3Dxda' como nova
|
|
11
|
-
"nl": "B3Dxda' toegevoegd als nieuwe Hyper 2000
|
|
10
|
+
"pt": "Adicionado 'B3Dxda' como nova productKey Hyper 2000. Removido o parâmetro 'upTime' e 'pullTime' de 'setDeviceAutomationInOutLimit'. TESTE: Utilizar 'setDeviceAutomationInOutLimit' para permitir que o HUB1200/HUB2000 carregue com o ACE 1500 ligado",
|
|
11
|
+
"nl": "B3Dxda' toegevoegd als nieuwe Hyper 2000 productKey. Parameter 'upTime' en 'pullTime' verwijderd uit 'setDeviceAutomationInOutLimit'. TEST: Gebruik 'setDeviceAutomationInOutLimit' om HUB1200/HUB2000 te laten laden met aangesloten ACE 1500.",
|
|
12
12
|
"fr": "Ajout de 'B3Dxda' comme nouvelle clé de périphérique Hyper 2000. Suppression des paramètres 'upTime' et 'pullTime' de 'setDeviceAutomationInOutLimit'. TEST : Utilisez 'setDeviceAutomationInOutLimit' pour permettre au HUB1200/HUB2000 de se recharger avec un ACE 1500 connecté.",
|
|
13
|
-
"it": "Aggiunto 'B3Dxda' come nuovo
|
|
14
|
-
"es": "Añadido 'B3Dxda' como nuevo
|
|
13
|
+
"it": "Aggiunto 'B3Dxda' come nuovo productKey Hyper 2000. Rimosso il parametro 'upTime' e 'pullTime' da 'setDeviceAutomationInOutLimit'. TEST: utilizzare 'setDeviceAutomationInOutLimit' per consentire a HUB1200/HUB2000 di caricarsi con l'ACE 1500 collegato.",
|
|
14
|
+
"es": "Añadido 'B3Dxda' como nuevo productKey de Hyper 2000. Eliminados los parámetros 'upTime' y 'pullTime' de 'setDeviceAutomationInOutLimit'. PRUEBA: Utiliza 'setDeviceAutomationInOutLimit' para que HUB1200/HUB2000 se cargue con ACE 1500 conectado.",
|
|
15
15
|
"pl": "Dodano \"B3Dxda\" jako nowy klucz urządzenia Hyper 2000. Usunięto parametr 'upTime' i 'pullTime' z 'setDeviceAutomationInOutLimit'. TEST: Użyj 'setDeviceAutomationInOutLimit', aby umożliwić ładowanie HUB1200/HUB2000 z podłączonym ACE 1500.",
|
|
16
|
-
"uk": "Додано 'B3Dxda' як новий Hyper 2000
|
|
17
|
-
"zh-cn": "Added 'B3Dxda' as new Hyper 2000
|
|
16
|
+
"uk": "Додано 'B3Dxda' як новий Hyper 2000 productKey. Видалено параметри 'upTime' та 'pullTime' з 'setDeviceAutomationInOutLimit'. ТЕСТ: Використовуйте 'setDeviceAutomationInOutLimit', щоб дозволити HUB1200/HUB2000 заряджатися з підключеним ACE 1500",
|
|
17
|
+
"zh-cn": "Added 'B3Dxda' as new Hyper 2000 productKey. Removed parameter 'upTime' and 'pullTime' from 'setDeviceAutomationInOutLimit'. TEST: Use 'setDeviceAutomationInOutLimit' to let HUB1200/HUB2000 charge with connected ACE 1500"
|
|
18
18
|
},
|
|
19
19
|
"2.0.1": {
|
|
20
20
|
"en": "Small fix MQTT service",
|