iobroker.zendure-solarflow 1.7.7 → 1.8.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/build/constants/smartPlugStates.js +37 -0
- package/build/constants/smartPlugStates.js.map +7 -0
- package/build/helpers/createCalculationStates.js +336 -294
- package/build/helpers/createCalculationStates.js.map +2 -2
- package/build/helpers/createControlStates.js +115 -104
- package/build/helpers/createControlStates.js.map +2 -2
- package/build/helpers/createSolarFlowStates.js +19 -5
- package/build/helpers/createSolarFlowStates.js.map +2 -2
- package/build/main.js +2 -2
- package/build/main.js.map +2 -2
- package/build/models/IPack2Device.js +17 -0
- package/build/models/IPack2Device.js.map +7 -0
- package/build/services/calculationService.js +25 -1
- package/build/services/calculationService.js.map +2 -2
- package/build/services/mqttService.js +12 -1
- package/build/services/mqttService.js.map +2 -2
- package/io-package.json +14 -14
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/helpers/createCalculationStates.ts"],
|
|
4
|
-
"sourcesContent": ["import { ZendureSolarflow } from \"../main\";\r\n\r\n/* eslint-disable @typescript-eslint/indent */\r\nexport const createCalculationStates = async (\r\n adapter: ZendureSolarflow,\r\n productKey: string,\r\n deviceKey: string\r\n): Promise<void> => {\r\n /*\r\n Start Solar Input Energy states\r\n */\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.solarInputEnergyTodayWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutiger Solarertrag (Wh)\",\r\n en: \"Todays solar input (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"solarInputEnergyTodayWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.solarInputEnergyTodaykWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutiger Solarertrag (kWh)\",\r\n en: \"Todays solar input (kWh)\",\r\n },\r\n type: \"number\",\r\n desc: \"solarInputEnergyTodaykWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"kWh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.solarInputPv1EnergyTodayWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutiger Solarertrag PV1 (Wh)\",\r\n en: \"Todays solar input PV1 (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"solarInputEnergyTodayWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.solarInputPv1EnergyTodaykWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutiger Solarertrag PV1 (kWh)\",\r\n en: \"Todays solar input PV1 (kWh)\",\r\n },\r\n type: \"number\",\r\n desc: \"solarInputEnergyTodaykWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"kWh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.solarInputPv2EnergyTodayWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutiger Solarertrag PV2 (Wh)\",\r\n en: \"Todays solar input PV2 (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"solarInputEnergyTodayWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.solarInputPv2EnergyTodaykWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutiger Solarertrag PV2 (kWh)\",\r\n en: \"Todays solar input PV2 (kWh)\",\r\n },\r\n type: \"number\",\r\n desc: \"solarInputEnergyTodaykWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"kWh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n /*\r\n Start output pack Energy states\r\n */\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.outputPackEnergyTodayWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Ladung zu Batterie (Wh)\",\r\n en: \"Todays charge energy to battery (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"outputPackEnergyTodayWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.outputPackEnergyTodaykWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Ladung zur Batterie (kWh)\",\r\n en: \"todays charge energy to battery (kWh)\",\r\n },\r\n type: \"number\",\r\n desc: \"outputPackEnergyTodaykWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"kWh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n /*\r\n Start Pack Input Energy states\r\n */\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.packInputEnergyTodayWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Einspeisung aus Batterie (Wh)\",\r\n en: \"Todays discharge energy from battery (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"packInputEnergyTodayWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.packInputEnergyTodaykWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Einspeisung aus Batterie (kWh)\",\r\n en: \"Todays discharge energy from battery (kWh)\",\r\n },\r\n type: \"number\",\r\n desc: \"packInputEnergyTodaykWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"kWh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n /*\r\n Start outputHome Energy states\r\n */\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.outputHomeEnergyTodayWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Einspeisung ins Haus (Wh)\",\r\n en: \"Todays input energy to home (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"outputHomeEnergyTodayWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.outputHomeEnergyTodaykWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Einspeisung ins Haus (kWh)\",\r\n en: \"Todays input energy to home (kWh)\",\r\n },\r\n type: \"number\",\r\n desc: \"outputHomeEnergyTodaykWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"kWh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n /*\r\n End Energy states\r\n */\r\n\r\n // Calculation input time\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.remainInputTime`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Erwartete Ladedauer (hh:mm)\",\r\n en: \"remaining charge time (hh:mm)\",\r\n },\r\n type: \"string\",\r\n desc: \"calcRemainInputTime\",\r\n role: \"value\",\r\n read: true,\r\n write: false,\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n // Calculation remainOutTime\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.remainOutTime`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Erwartete Entladedauer (hh:mm)\",\r\n en: \"remaining discharge time (hh:mm)\",\r\n },\r\n type: \"string\",\r\n desc: \"calcRemainOutTime\",\r\n role: \"value\",\r\n read: true,\r\n write: false,\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n // Calculation SOC\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.calculations.soc`, {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Ladezustand in %\",\r\n en: \"State of Charge %\",\r\n },\r\n type: \"number\",\r\n desc: \"soc\",\r\n role: \"value\",\r\n read: true,\r\n write: false,\r\n unit: \"%\",\r\n },\r\n native: {},\r\n });\r\n\r\n // Energy Wh\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.energyWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Energie in den Batterien (Wh)\",\r\n en: \"Energy in battery (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"energyWh\",\r\n role: \"value\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n // Max. Energy for alle batteries Wh\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.energyWhMax`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Max. Energie in allen Batterien (Wh)\",\r\n en: \"Max. Energy in battery (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"energyWhMax\",\r\n role: \"value\",\r\n read: true,\r\n write: true,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n};\r\n"],
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAGO,MAAM,0BAA0B,OACrC,SACA,YACA,
|
|
4
|
+
"sourcesContent": ["import { ZendureSolarflow } from \"../main\";\r\n\r\n/* eslint-disable @typescript-eslint/indent */\r\nexport const createCalculationStates = async (\r\n adapter: ZendureSolarflow,\r\n productKey: string,\r\n deviceKey: string,\r\n type: string\r\n): Promise<void> => {\r\n if (type == \"hyper\" || type == \"ace\") {\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.gridInputPowerEnergyTodayWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Ladung per AC (Wh)\",\r\n en: \"Charged by AC (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"gridInputPowerEnergyTodayWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.gridInputPowerEnergyTodaykWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Ladung per AC (kWh)\",\r\n en: \"Charged by AC (kWh)\",\r\n },\r\n type: \"number\",\r\n desc: \"gridInputPowerEnergyTodaykWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"kWh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n }\r\n\r\n if (type != \"smartPlug\") {\r\n /*\r\n Start Solar Input Energy states\r\n */\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.solarInputEnergyTodayWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutiger Solarertrag (Wh)\",\r\n en: \"Todays solar input (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"solarInputEnergyTodayWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.solarInputEnergyTodaykWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutiger Solarertrag (kWh)\",\r\n en: \"Todays solar input (kWh)\",\r\n },\r\n type: \"number\",\r\n desc: \"solarInputEnergyTodaykWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"kWh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.solarInputPv1EnergyTodayWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutiger Solarertrag PV1 (Wh)\",\r\n en: \"Todays solar input PV1 (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"solarInputEnergyTodayWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.solarInputPv1EnergyTodaykWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutiger Solarertrag PV1 (kWh)\",\r\n en: \"Todays solar input PV1 (kWh)\",\r\n },\r\n type: \"number\",\r\n desc: \"solarInputEnergyTodaykWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"kWh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.solarInputPv2EnergyTodayWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutiger Solarertrag PV2 (Wh)\",\r\n en: \"Todays solar input PV2 (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"solarInputEnergyTodayWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.solarInputPv2EnergyTodaykWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutiger Solarertrag PV2 (kWh)\",\r\n en: \"Todays solar input PV2 (kWh)\",\r\n },\r\n type: \"number\",\r\n desc: \"solarInputEnergyTodaykWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"kWh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n /*\r\n Start output pack Energy states\r\n */\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.outputPackEnergyTodayWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Ladung zu Batterie (Wh)\",\r\n en: \"Todays charge energy to battery (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"outputPackEnergyTodayWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.outputPackEnergyTodaykWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Ladung zur Batterie (kWh)\",\r\n en: \"todays charge energy to battery (kWh)\",\r\n },\r\n type: \"number\",\r\n desc: \"outputPackEnergyTodaykWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"kWh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n /*\r\n Start Pack Input Energy states\r\n */\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.packInputEnergyTodayWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Einspeisung aus Batterie (Wh)\",\r\n en: \"Todays discharge energy from battery (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"packInputEnergyTodayWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.packInputEnergyTodaykWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Einspeisung aus Batterie (kWh)\",\r\n en: \"Todays discharge energy from battery (kWh)\",\r\n },\r\n type: \"number\",\r\n desc: \"packInputEnergyTodaykWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"kWh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n /*\r\n Start outputHome Energy states\r\n */\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.outputHomeEnergyTodayWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Einspeisung ins Haus (Wh)\",\r\n en: \"Todays input energy to home (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"outputHomeEnergyTodayWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.outputHomeEnergyTodaykWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Heutige Einspeisung ins Haus (kWh)\",\r\n en: \"Todays input energy to home (kWh)\",\r\n },\r\n type: \"number\",\r\n desc: \"outputHomeEnergyTodaykWh\",\r\n role: \"value.energy\",\r\n read: true,\r\n write: false,\r\n unit: \"kWh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n /*\r\n End Energy states\r\n */\r\n\r\n // Calculation input time\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.remainInputTime`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Erwartete Ladedauer (hh:mm)\",\r\n en: \"remaining charge time (hh:mm)\",\r\n },\r\n type: \"string\",\r\n desc: \"calcRemainInputTime\",\r\n role: \"value\",\r\n read: true,\r\n write: false,\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n // Calculation remainOutTime\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.remainOutTime`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Erwartete Entladedauer (hh:mm)\",\r\n en: \"remaining discharge time (hh:mm)\",\r\n },\r\n type: \"string\",\r\n desc: \"calcRemainOutTime\",\r\n role: \"value\",\r\n read: true,\r\n write: false,\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n // Calculation SOC\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.calculations.soc`, {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Ladezustand in %\",\r\n en: \"State of Charge %\",\r\n },\r\n type: \"number\",\r\n desc: \"soc\",\r\n role: \"value\",\r\n read: true,\r\n write: false,\r\n unit: \"%\",\r\n },\r\n native: {},\r\n });\r\n\r\n // Energy Wh\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.energyWh`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Energie in den Batterien (Wh)\",\r\n en: \"Energy in battery (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"energyWh\",\r\n role: \"value\",\r\n read: true,\r\n write: false,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n // Max. Energy for alle batteries Wh\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.calculations.energyWhMax`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Max. Energie in allen Batterien (Wh)\",\r\n en: \"Max. Energy in battery (Wh)\",\r\n },\r\n type: \"number\",\r\n desc: \"energyWhMax\",\r\n role: \"value\",\r\n read: true,\r\n write: true,\r\n unit: \"Wh\",\r\n },\r\n native: {},\r\n }\r\n );\r\n }\r\n};\r\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -32,125 +32,64 @@ const createControlStates = async (adapter, productKey, deviceKey, type) => {
|
|
|
32
32
|
},
|
|
33
33
|
native: {}
|
|
34
34
|
}));
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
native: {}
|
|
54
|
-
}
|
|
55
|
-
));
|
|
56
|
-
adapter == null ? void 0 : adapter.subscribeStates(`${productKey}.${deviceKey}.control.chargeLimit`);
|
|
57
|
-
await (adapter == null ? void 0 : adapter.extendObject(
|
|
58
|
-
`${productKey}.${deviceKey}.control.dischargeLimit`,
|
|
59
|
-
{
|
|
60
|
-
type: "state",
|
|
61
|
-
common: {
|
|
62
|
-
name: {
|
|
63
|
-
de: "Setzen des Entlade-Limits",
|
|
64
|
-
en: "Control of the discharge limit"
|
|
65
|
-
},
|
|
66
|
-
type: "number",
|
|
67
|
-
desc: "dischargeLimit",
|
|
68
|
-
role: "value.battery",
|
|
69
|
-
read: true,
|
|
70
|
-
write: true,
|
|
71
|
-
min: 0,
|
|
72
|
-
max: 90,
|
|
73
|
-
unit: "%"
|
|
74
|
-
},
|
|
75
|
-
native: {}
|
|
76
|
-
}
|
|
77
|
-
));
|
|
78
|
-
adapter == null ? void 0 : adapter.subscribeStates(`${productKey}.${deviceKey}.control.dischargeLimit`);
|
|
79
|
-
await (adapter == null ? void 0 : adapter.extendObject(
|
|
80
|
-
`${productKey}.${deviceKey}.control.buzzerSwitch`,
|
|
81
|
-
{
|
|
82
|
-
type: "state",
|
|
83
|
-
common: {
|
|
84
|
-
name: {
|
|
85
|
-
de: "Sounds am HUB aktivieren",
|
|
86
|
-
en: "Enable buzzer on HUB"
|
|
35
|
+
if (type != "smartPlug") {
|
|
36
|
+
await (adapter == null ? void 0 : adapter.extendObject(
|
|
37
|
+
`${productKey}.${deviceKey}.control.chargeLimit`,
|
|
38
|
+
{
|
|
39
|
+
type: "state",
|
|
40
|
+
common: {
|
|
41
|
+
name: {
|
|
42
|
+
de: "Setzen des Lade-Limits",
|
|
43
|
+
en: "Control of the charge limit"
|
|
44
|
+
},
|
|
45
|
+
type: "number",
|
|
46
|
+
desc: "chargeLimit",
|
|
47
|
+
role: "value.battery",
|
|
48
|
+
read: true,
|
|
49
|
+
write: true,
|
|
50
|
+
min: 40,
|
|
51
|
+
max: 100,
|
|
52
|
+
unit: "%"
|
|
87
53
|
},
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
write: true
|
|
93
|
-
},
|
|
94
|
-
native: {}
|
|
95
|
-
}
|
|
96
|
-
));
|
|
97
|
-
if (type == "solarflow" || type == "hyper") {
|
|
54
|
+
native: {}
|
|
55
|
+
}
|
|
56
|
+
));
|
|
57
|
+
adapter == null ? void 0 : adapter.subscribeStates(`${productKey}.${deviceKey}.control.chargeLimit`);
|
|
98
58
|
await (adapter == null ? void 0 : adapter.extendObject(
|
|
99
|
-
`${productKey}.${deviceKey}.control.
|
|
59
|
+
`${productKey}.${deviceKey}.control.dischargeLimit`,
|
|
100
60
|
{
|
|
101
61
|
type: "state",
|
|
102
62
|
common: {
|
|
103
63
|
name: {
|
|
104
|
-
de: "
|
|
105
|
-
en: "Control of the
|
|
64
|
+
de: "Setzen des Entlade-Limits",
|
|
65
|
+
en: "Control of the discharge limit"
|
|
106
66
|
},
|
|
107
67
|
type: "number",
|
|
108
|
-
desc: "
|
|
109
|
-
role: "value.
|
|
68
|
+
desc: "dischargeLimit",
|
|
69
|
+
role: "value.battery",
|
|
110
70
|
read: true,
|
|
111
71
|
write: true,
|
|
112
72
|
min: 0,
|
|
113
|
-
|
|
73
|
+
max: 90,
|
|
74
|
+
unit: "%"
|
|
114
75
|
},
|
|
115
76
|
native: {}
|
|
116
77
|
}
|
|
117
78
|
));
|
|
118
79
|
adapter == null ? void 0 : adapter.subscribeStates(
|
|
119
|
-
`${productKey}.${deviceKey}.control.
|
|
80
|
+
`${productKey}.${deviceKey}.control.dischargeLimit`
|
|
120
81
|
);
|
|
121
|
-
adapter == null ? void 0 : adapter.subscribeStates(`${productKey}.${deviceKey}.control.buzzerSwitch`);
|
|
122
|
-
await (adapter == null ? void 0 : adapter.extendObject(`${productKey}.${deviceKey}.control.passMode`, {
|
|
123
|
-
type: "state",
|
|
124
|
-
common: {
|
|
125
|
-
name: {
|
|
126
|
-
de: "Einstellung des Bypass Modus",
|
|
127
|
-
en: "Setting of bypass mode"
|
|
128
|
-
},
|
|
129
|
-
type: "number",
|
|
130
|
-
desc: "passMode",
|
|
131
|
-
role: "switch",
|
|
132
|
-
read: true,
|
|
133
|
-
write: true,
|
|
134
|
-
states: {
|
|
135
|
-
0: "Automatic",
|
|
136
|
-
1: "Always off",
|
|
137
|
-
2: "Always on"
|
|
138
|
-
}
|
|
139
|
-
},
|
|
140
|
-
native: {}
|
|
141
|
-
}));
|
|
142
|
-
adapter == null ? void 0 : adapter.subscribeStates(`${productKey}.${deviceKey}.control.passMode`);
|
|
143
82
|
await (adapter == null ? void 0 : adapter.extendObject(
|
|
144
|
-
`${productKey}.${deviceKey}.control.
|
|
83
|
+
`${productKey}.${deviceKey}.control.buzzerSwitch`,
|
|
145
84
|
{
|
|
146
85
|
type: "state",
|
|
147
86
|
common: {
|
|
148
87
|
name: {
|
|
149
|
-
de: "
|
|
150
|
-
en: "
|
|
88
|
+
de: "Sounds am HUB aktivieren",
|
|
89
|
+
en: "Enable buzzer on HUB"
|
|
151
90
|
},
|
|
152
91
|
type: "boolean",
|
|
153
|
-
desc: "
|
|
92
|
+
desc: "buzzerSwitch",
|
|
154
93
|
role: "switch",
|
|
155
94
|
read: true,
|
|
156
95
|
write: true
|
|
@@ -158,29 +97,101 @@ const createControlStates = async (adapter, productKey, deviceKey, type) => {
|
|
|
158
97
|
native: {}
|
|
159
98
|
}
|
|
160
99
|
));
|
|
161
|
-
|
|
162
|
-
if (adapter.config.useLowVoltageBlock) {
|
|
100
|
+
if (type == "solarflow" || type == "hyper") {
|
|
163
101
|
await (adapter == null ? void 0 : adapter.extendObject(
|
|
164
|
-
`${productKey}.${deviceKey}.control.
|
|
102
|
+
`${productKey}.${deviceKey}.control.setOutputLimit`,
|
|
165
103
|
{
|
|
166
104
|
type: "state",
|
|
167
105
|
common: {
|
|
168
106
|
name: {
|
|
169
|
-
de: "
|
|
170
|
-
en: "
|
|
107
|
+
de: "Einzustellende Ausgangsleistung",
|
|
108
|
+
en: "Control of the output limit"
|
|
109
|
+
},
|
|
110
|
+
type: "number",
|
|
111
|
+
desc: "setOutputLimit",
|
|
112
|
+
role: "value.power",
|
|
113
|
+
read: true,
|
|
114
|
+
write: true,
|
|
115
|
+
min: 0,
|
|
116
|
+
unit: "W"
|
|
117
|
+
},
|
|
118
|
+
native: {}
|
|
119
|
+
}
|
|
120
|
+
));
|
|
121
|
+
adapter == null ? void 0 : adapter.subscribeStates(
|
|
122
|
+
`${productKey}.${deviceKey}.control.setOutputLimit`
|
|
123
|
+
);
|
|
124
|
+
adapter == null ? void 0 : adapter.subscribeStates(
|
|
125
|
+
`${productKey}.${deviceKey}.control.buzzerSwitch`
|
|
126
|
+
);
|
|
127
|
+
await (adapter == null ? void 0 : adapter.extendObject(
|
|
128
|
+
`${productKey}.${deviceKey}.control.passMode`,
|
|
129
|
+
{
|
|
130
|
+
type: "state",
|
|
131
|
+
common: {
|
|
132
|
+
name: {
|
|
133
|
+
de: "Einstellung des Bypass Modus",
|
|
134
|
+
en: "Setting of bypass mode"
|
|
135
|
+
},
|
|
136
|
+
type: "number",
|
|
137
|
+
desc: "passMode",
|
|
138
|
+
role: "switch",
|
|
139
|
+
read: true,
|
|
140
|
+
write: true,
|
|
141
|
+
states: {
|
|
142
|
+
0: "Automatic",
|
|
143
|
+
1: "Always off",
|
|
144
|
+
2: "Always on"
|
|
145
|
+
}
|
|
146
|
+
},
|
|
147
|
+
native: {}
|
|
148
|
+
}
|
|
149
|
+
));
|
|
150
|
+
adapter == null ? void 0 : adapter.subscribeStates(`${productKey}.${deviceKey}.control.passMode`);
|
|
151
|
+
await (adapter == null ? void 0 : adapter.extendObject(
|
|
152
|
+
`${productKey}.${deviceKey}.control.autoRecover`,
|
|
153
|
+
{
|
|
154
|
+
type: "state",
|
|
155
|
+
common: {
|
|
156
|
+
name: {
|
|
157
|
+
de: "Am n\xE4chsten Tag Bypass auf Automatik",
|
|
158
|
+
en: "Automatic recovery of bypass"
|
|
171
159
|
},
|
|
172
160
|
type: "boolean",
|
|
173
|
-
desc: "
|
|
174
|
-
role: "
|
|
161
|
+
desc: "autoRecover",
|
|
162
|
+
role: "switch",
|
|
175
163
|
read: true,
|
|
176
|
-
write:
|
|
164
|
+
write: true
|
|
177
165
|
},
|
|
178
166
|
native: {}
|
|
179
167
|
}
|
|
180
168
|
));
|
|
181
169
|
adapter == null ? void 0 : adapter.subscribeStates(
|
|
182
|
-
`${productKey}.${deviceKey}.control.
|
|
170
|
+
`${productKey}.${deviceKey}.control.autoRecover`
|
|
183
171
|
);
|
|
172
|
+
if (adapter.config.useLowVoltageBlock) {
|
|
173
|
+
await (adapter == null ? void 0 : adapter.extendObject(
|
|
174
|
+
`${productKey}.${deviceKey}.control.lowVoltageBlock`,
|
|
175
|
+
{
|
|
176
|
+
type: "state",
|
|
177
|
+
common: {
|
|
178
|
+
name: {
|
|
179
|
+
de: "Niedrige Batteriespannung erkannt",
|
|
180
|
+
en: "Low Voltage on battery detected"
|
|
181
|
+
},
|
|
182
|
+
type: "boolean",
|
|
183
|
+
desc: "lowVoltageBlock",
|
|
184
|
+
role: "indicator.lowbat",
|
|
185
|
+
read: true,
|
|
186
|
+
write: false
|
|
187
|
+
},
|
|
188
|
+
native: {}
|
|
189
|
+
}
|
|
190
|
+
));
|
|
191
|
+
adapter == null ? void 0 : adapter.subscribeStates(
|
|
192
|
+
`${productKey}.${deviceKey}.control.lowVoltageBlock`
|
|
193
|
+
);
|
|
194
|
+
}
|
|
184
195
|
}
|
|
185
196
|
}
|
|
186
197
|
if (type == "hyper") {
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/helpers/createControlStates.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable @typescript-eslint/indent */\r\n\r\nimport { ZendureSolarflow } from \"../main\";\r\n\r\nexport const createControlStates = async (\r\n adapter: ZendureSolarflow,\r\n productKey: string,\r\n deviceKey: string,\r\n type: string\r\n): Promise<void> => {\r\n // Create control folder\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control`, {\r\n type: \"channel\",\r\n common: {\r\n name: {\r\n de: \"Steuerung f\u00FCr Ger\u00E4t \" + deviceKey,\r\n en: \"Control for device \" + deviceKey,\r\n },\r\n },\r\n native: {},\r\n });\r\n\r\n // State zum Setzen des Charge Limit\r\n
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAIO,MAAM,sBAAsB,OACjC,SACA,YACA,WACA,SACkB;AAElB,SAAM,mCAAS,aAAa,GAAG,UAAU,IAAI,SAAS,YAAY;AAAA,IAChE,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,MAAM;AAAA,QACJ,IAAI,+BAAyB;AAAA,QAC7B,IAAI,wBAAwB;AAAA,MAC9B;AAAA,IACF;AAAA,IACA,QAAQ,CAAC;AAAA,EACX;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/indent */\r\n\r\nimport { ZendureSolarflow } from \"../main\";\r\n\r\nexport const createControlStates = async (\r\n adapter: ZendureSolarflow,\r\n productKey: string,\r\n deviceKey: string,\r\n type: string\r\n): Promise<void> => {\r\n // Create control folder\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control`, {\r\n type: \"channel\",\r\n common: {\r\n name: {\r\n de: \"Steuerung f\u00FCr Ger\u00E4t \" + deviceKey,\r\n en: \"Control for device \" + deviceKey,\r\n },\r\n },\r\n native: {},\r\n });\r\n\r\n if (type != \"smartPlug\") {\r\n // State zum Setzen des Charge Limit\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.chargeLimit`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Setzen des Lade-Limits\",\r\n en: \"Control of the charge limit\",\r\n },\r\n type: \"number\",\r\n desc: \"chargeLimit\",\r\n role: \"value.battery\",\r\n read: true,\r\n write: true,\r\n min: 40,\r\n max: 100,\r\n unit: \"%\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.chargeLimit`);\r\n\r\n // State zum Setzen des Discharge Limit\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.dischargeLimit`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Setzen des Entlade-Limits\",\r\n en: \"Control of the discharge limit\",\r\n },\r\n type: \"number\",\r\n desc: \"dischargeLimit\",\r\n role: \"value.battery\",\r\n read: true,\r\n write: true,\r\n min: 0,\r\n max: 90,\r\n unit: \"%\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(\r\n `${productKey}.${deviceKey}.control.dischargeLimit`\r\n );\r\n\r\n // State zum Setzen des Buzzers\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.buzzerSwitch`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Sounds am HUB aktivieren\",\r\n en: \"Enable buzzer on HUB\",\r\n },\r\n type: \"boolean\",\r\n desc: \"buzzerSwitch\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n if (type == \"solarflow\" || type == \"hyper\") {\r\n // State zum Setzen des Output Limit\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.setOutputLimit`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Einzustellende Ausgangsleistung\",\r\n en: \"Control of the output limit\",\r\n },\r\n type: \"number\",\r\n desc: \"setOutputLimit\",\r\n role: \"value.power\",\r\n read: true,\r\n write: true,\r\n min: 0,\r\n unit: \"W\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n // Subcribe to control states\r\n adapter?.subscribeStates(\r\n `${productKey}.${deviceKey}.control.setOutputLimit`\r\n );\r\n\r\n adapter?.subscribeStates(\r\n `${productKey}.${deviceKey}.control.buzzerSwitch`\r\n );\r\n\r\n // State zum Setzen des Bypass Modus\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.passMode`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Einstellung des Bypass Modus\",\r\n en: \"Setting of bypass mode\",\r\n },\r\n type: \"number\",\r\n desc: \"passMode\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n states: {\r\n 0: \"Automatic\",\r\n 1: \"Always off\",\r\n 2: \"Always on\",\r\n },\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.passMode`);\r\n\r\n // State zum Setzen des Auto-Modus vom Bypass\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.autoRecover`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Am n\u00E4chsten Tag Bypass auf Automatik\",\r\n en: \"Automatic recovery of bypass\",\r\n },\r\n type: \"boolean\",\r\n desc: \"autoRecover\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(\r\n `${productKey}.${deviceKey}.control.autoRecover`\r\n );\r\n\r\n if (adapter.config.useLowVoltageBlock) {\r\n // State zum Setzen des Output Limit\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.lowVoltageBlock`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Niedrige Batteriespannung erkannt\",\r\n en: \"Low Voltage on battery detected\",\r\n },\r\n type: \"boolean\",\r\n desc: \"lowVoltageBlock\",\r\n role: \"indicator.lowbat\",\r\n read: true,\r\n write: false,\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(\r\n `${productKey}.${deviceKey}.control.lowVoltageBlock`\r\n );\r\n }\r\n }\r\n }\r\n\r\n if (type == \"hyper\") {\r\n // State zum Setzen des AC Modus\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control.acMode`, {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"AC Modus\",\r\n en: \"AC mode\",\r\n },\r\n type: \"number\",\r\n desc: \"acMode\",\r\n role: \"switch\",\r\n min: 0,\r\n max: 2,\r\n step: 1,\r\n read: true,\r\n write: true,\r\n states: {\r\n 0: \"Nothing\",\r\n 1: \"AC input mode\",\r\n 2: \"AC output mode\",\r\n },\r\n },\r\n native: {},\r\n });\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.acMode`);\r\n }\r\n\r\n // States for Hyper 2000 and ACE 1500\r\n if (type == \"hyper\" || type == \"ace\") {\r\n // State zum Setzen des Input Limit (AC)\r\n await adapter?.extendObject(\r\n `${productKey}.${deviceKey}.control.setInputLimit`,\r\n {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"Einzustellende Eingangsleistung\",\r\n en: \"Control of the input limit\",\r\n },\r\n type: \"number\",\r\n desc: \"setInputLimit\",\r\n role: \"value.power\",\r\n read: true,\r\n write: true,\r\n min: 0,\r\n max: type == \"ace\" ? 900 : 1200,\r\n step: 100,\r\n unit: \"W\",\r\n },\r\n native: {},\r\n }\r\n );\r\n\r\n adapter?.subscribeStates(\r\n `${productKey}.${deviceKey}.control.setInputLimit`\r\n );\r\n\r\n // State zum Setzen des AC Schalters\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control.acSwitch`, {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"AC Schalter\",\r\n en: \"AC switch\",\r\n },\r\n type: \"boolean\",\r\n desc: \"acSwitch\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n },\r\n native: {},\r\n });\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.acSwitch`);\r\n }\r\n\r\n // States only for ACE 1500\r\n if (type == \"ace\") {\r\n // State zum Setzen des DC Schalters\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.control.dcSwitch`, {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: \"DC Schalter\",\r\n en: \"DC switch\",\r\n },\r\n type: \"boolean\",\r\n desc: \"dcSwitch\",\r\n role: \"switch\",\r\n read: true,\r\n write: true,\r\n },\r\n native: {},\r\n });\r\n\r\n adapter?.subscribeStates(`${productKey}.${deviceKey}.control.dcSwitch`);\r\n }\r\n};\r\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
|
@@ -18,13 +18,15 @@ var __copyProps = (to, from, except, desc) => {
|
|
|
18
18
|
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
|
|
19
19
|
var createSolarFlowStates_exports = {};
|
|
20
20
|
__export(createSolarFlowStates_exports, {
|
|
21
|
-
createSolarFlowStates: () => createSolarFlowStates
|
|
21
|
+
createSolarFlowStates: () => createSolarFlowStates,
|
|
22
|
+
getStateDefinition: () => getStateDefinition
|
|
22
23
|
});
|
|
23
24
|
module.exports = __toCommonJS(createSolarFlowStates_exports);
|
|
24
25
|
var import_aceStates = require("../constants/aceStates");
|
|
25
26
|
var import_aioStates = require("../constants/aioStates");
|
|
26
27
|
var import_hubStates = require("../constants/hubStates");
|
|
27
28
|
var import_hyperStates = require("../constants/hyperStates");
|
|
29
|
+
var import_smartPlugStates = require("../constants/smartPlugStates");
|
|
28
30
|
var import_adapterService = require("../services/adapterService");
|
|
29
31
|
var import_createCalculationStates = require("./createCalculationStates");
|
|
30
32
|
var import_createControlStates = require("./createControlStates");
|
|
@@ -38,6 +40,8 @@ const getStateDefinition = (type) => {
|
|
|
38
40
|
return import_hubStates.hubStates;
|
|
39
41
|
case "ace":
|
|
40
42
|
return import_aceStates.aceStates;
|
|
43
|
+
case "smartPlug":
|
|
44
|
+
return import_smartPlugStates.smartPlugStates;
|
|
41
45
|
default:
|
|
42
46
|
return [];
|
|
43
47
|
}
|
|
@@ -107,7 +111,7 @@ const createSolarFlowStates = async (adapter, device, type) => {
|
|
|
107
111
|
native: {}
|
|
108
112
|
}));
|
|
109
113
|
});
|
|
110
|
-
if (device.electricity) {
|
|
114
|
+
if (device.electricity && type != "smartPlug") {
|
|
111
115
|
await (0, import_adapterService.updateSolarFlowState)(
|
|
112
116
|
adapter,
|
|
113
117
|
device.productKey,
|
|
@@ -115,6 +119,15 @@ const createSolarFlowStates = async (adapter, device, type) => {
|
|
|
115
119
|
"electricLevel",
|
|
116
120
|
device.electricity
|
|
117
121
|
);
|
|
122
|
+
if (adapter.config.useCalculation && type != "smartPlug") {
|
|
123
|
+
await (0, import_adapterService.updateSolarFlowControlState)(
|
|
124
|
+
adapter,
|
|
125
|
+
device.productKey,
|
|
126
|
+
device.deviceKey,
|
|
127
|
+
"soc",
|
|
128
|
+
device.electricity
|
|
129
|
+
);
|
|
130
|
+
}
|
|
118
131
|
}
|
|
119
132
|
if (device.snNumber) {
|
|
120
133
|
await (0, import_adapterService.updateSolarFlowState)(
|
|
@@ -142,13 +155,14 @@ const createSolarFlowStates = async (adapter, device, type) => {
|
|
|
142
155
|
if (!adapter.config.useFallbackService) {
|
|
143
156
|
await (0, import_createControlStates.createControlStates)(adapter, productKey, deviceKey, type);
|
|
144
157
|
}
|
|
145
|
-
if (adapter.config.useCalculation
|
|
146
|
-
await (0, import_createCalculationStates.createCalculationStates)(adapter, productKey, deviceKey);
|
|
158
|
+
if (adapter.config.useCalculation) {
|
|
159
|
+
await (0, import_createCalculationStates.createCalculationStates)(adapter, productKey, deviceKey, type);
|
|
147
160
|
} else {
|
|
148
161
|
}
|
|
149
162
|
};
|
|
150
163
|
// Annotate the CommonJS export names for ESM import in node:
|
|
151
164
|
0 && (module.exports = {
|
|
152
|
-
createSolarFlowStates
|
|
165
|
+
createSolarFlowStates,
|
|
166
|
+
getStateDefinition
|
|
153
167
|
});
|
|
154
168
|
//# sourceMappingURL=createSolarFlowStates.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"version": 3,
|
|
3
3
|
"sources": ["../../src/helpers/createSolarFlowStates.ts"],
|
|
4
|
-
"sourcesContent": ["/* eslint-disable @typescript-eslint/indent */\r\n\r\nimport { aceStates } from \"../constants/aceStates\";\r\nimport { aioStates } from \"../constants/aioStates\";\r\nimport { hubStates } from \"../constants/hubStates\";\r\nimport { hyperStates } from \"../constants/hyperStates\";\r\nimport { ZendureSolarflow } from \"../main\";\r\nimport { ISolarFlowDeviceDetails } from \"../models/ISolarFlowDeviceDetails\";\r\nimport { ISolarflowState } from \"../models/ISolarflowState\";\r\nimport {
|
|
5
|
-
"mappings": ";;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA;AAEA,uBAA0B;AAC1B,uBAA0B;AAC1B,uBAA0B;AAC1B,yBAA4B;
|
|
4
|
+
"sourcesContent": ["/* eslint-disable @typescript-eslint/indent */\r\n\r\nimport { aceStates } from \"../constants/aceStates\";\r\nimport { aioStates } from \"../constants/aioStates\";\r\nimport { hubStates } from \"../constants/hubStates\";\r\nimport { hyperStates } from \"../constants/hyperStates\";\r\nimport { smartPlugStates } from \"../constants/smartPlugStates\";\r\nimport { ZendureSolarflow } from \"../main\";\r\nimport { ISolarFlowDeviceDetails } from \"../models/ISolarFlowDeviceDetails\";\r\nimport { ISolarflowState } from \"../models/ISolarflowState\";\r\nimport {\r\n updateSolarFlowControlState,\r\n updateSolarFlowState,\r\n} from \"../services/adapterService\";\r\nimport { createCalculationStates } from \"./createCalculationStates\";\r\nimport { createControlStates } from \"./createControlStates\";\r\n//import { deleteCalculationStates } from \"./deleteCalculationStates\";\r\n\r\nexport const getStateDefinition = (type: string): ISolarflowState[] => {\r\n switch (type) {\r\n case \"aio\":\r\n return aioStates;\r\n case \"hyper\":\r\n return hyperStates;\r\n case \"solarflow\":\r\n return hubStates;\r\n case \"ace\":\r\n return aceStates;\r\n case \"smartPlug\":\r\n return smartPlugStates;\r\n default:\r\n return [];\r\n }\r\n};\r\n\r\nexport const createSolarFlowStates = async (\r\n adapter: ZendureSolarflow,\r\n device: ISolarFlowDeviceDetails,\r\n type: string\r\n): Promise<void> => {\r\n const productKey = device.productKey.replace(adapter.FORBIDDEN_CHARS, \"\");\r\n const deviceKey = device.deviceKey.replace(adapter.FORBIDDEN_CHARS, \"\");\r\n\r\n adapter.log.debug(\r\n `[createSolarFlowStates] Creating or updating SolarFlow states for ${device.productName} (${productKey}/${deviceKey}) and name '${device.name}'.`\r\n );\r\n\r\n // Create device (e.g. the product type -> SolarFlow)\r\n await adapter?.extendObject(productKey, {\r\n type: \"device\",\r\n common: {\r\n name: {\r\n de: `${device.productName} (${productKey})`,\r\n en: `${device.productName} (${productKey})`,\r\n },\r\n },\r\n native: {},\r\n });\r\n\r\n // Create channel (e.g. the device specific key)\r\n await adapter?.extendObject(productKey + \".\" + deviceKey, {\r\n type: \"channel\",\r\n common: {\r\n name: {\r\n de: `${device.name} (${deviceKey})`,\r\n en: `${device.name} (${deviceKey})`,\r\n },\r\n },\r\n native: {},\r\n });\r\n\r\n // Create calculations folder\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.calculations`, {\r\n type: \"channel\",\r\n common: {\r\n name: {\r\n de: \"Berechnungen f\u00FCr Ger\u00E4t \" + deviceKey,\r\n en: \"Calculations for Device \" + deviceKey,\r\n },\r\n },\r\n native: {},\r\n });\r\n\r\n // Create pack data folder\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.packData`, {\r\n type: \"channel\",\r\n common: {\r\n name: {\r\n de: \"Batterie Packs\",\r\n en: \"Battery packs\",\r\n },\r\n },\r\n native: {},\r\n });\r\n\r\n const states = getStateDefinition(type);\r\n\r\n states.forEach(async (state: ISolarflowState) => {\r\n await adapter?.extendObject(`${productKey}.${deviceKey}.${state.title}`, {\r\n type: \"state\",\r\n common: {\r\n name: {\r\n de: state.nameDe,\r\n en: state.nameEn,\r\n },\r\n type: state.type,\r\n desc: state.title,\r\n role: state.role,\r\n read: true,\r\n write: false,\r\n unit: state.unit,\r\n },\r\n native: {},\r\n });\r\n });\r\n\r\n // Set sn number from device\r\n if (device.electricity && type != \"smartPlug\") {\r\n await updateSolarFlowState(\r\n adapter,\r\n device.productKey,\r\n device.deviceKey,\r\n \"electricLevel\",\r\n device.electricity\r\n );\r\n\r\n if (adapter.config.useCalculation && type != \"smartPlug\") {\r\n await updateSolarFlowControlState(\r\n adapter,\r\n device.productKey,\r\n device.deviceKey,\r\n \"soc\",\r\n device.electricity\r\n );\r\n }\r\n }\r\n\r\n // Set sn number from device\r\n if (device.snNumber) {\r\n await updateSolarFlowState(\r\n adapter,\r\n device.productKey,\r\n device.deviceKey,\r\n \"snNumber\",\r\n device.snNumber.toString()\r\n );\r\n }\r\n\r\n // Set product name from device\r\n await updateSolarFlowState(\r\n adapter,\r\n device.productKey,\r\n device.deviceKey,\r\n \"productName\",\r\n device.productName\r\n );\r\n\r\n // Set wifi state from device\r\n await updateSolarFlowState(\r\n adapter,\r\n device.productKey,\r\n device.deviceKey,\r\n \"wifiState\",\r\n device.wifiStatus ? \"Connected\" : \"Disconnected\"\r\n );\r\n\r\n // Create control states only when using App MQTT servers - and not the fallback one!\r\n if (!adapter.config.useFallbackService) {\r\n await createControlStates(adapter, productKey, deviceKey, type);\r\n }\r\n\r\n if (adapter.config.useCalculation) {\r\n await createCalculationStates(adapter, productKey, deviceKey, type);\r\n } else {\r\n //await deleteCalculationStates(adapter, productKey, deviceKey);\r\n }\r\n};\r\n"],
|
|
5
|
+
"mappings": "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",
|
|
6
6
|
"names": []
|
|
7
7
|
}
|
package/build/main.js
CHANGED
|
@@ -49,6 +49,7 @@ class ZendureSolarflow extends utils.Adapter {
|
|
|
49
49
|
// Access Token for Zendure Rest API
|
|
50
50
|
this.deviceList = [];
|
|
51
51
|
this.paths = void 0;
|
|
52
|
+
this.pack2Devices = [];
|
|
52
53
|
this.lastLogin = void 0;
|
|
53
54
|
this.mqttClient = void 0;
|
|
54
55
|
this.resetValuesJob = void 0;
|
|
@@ -113,9 +114,8 @@ class ZendureSolarflow extends utils.Adapter {
|
|
|
113
114
|
this.lastLogin = /* @__PURE__ */ new Date();
|
|
114
115
|
(0, import_webService.getDeviceList)(this).then(async (result) => {
|
|
115
116
|
if (result) {
|
|
116
|
-
console.log(result);
|
|
117
117
|
this.deviceList = result.filter(
|
|
118
|
-
(device) => device.productName.toLowerCase().includes("solarflow") || device.productName.
|
|
118
|
+
(device) => device.productName.toLowerCase().includes("solarflow") || device.productName.toLowerCase().includes("hyper") || device.productName.toLowerCase() == "ace 1500"
|
|
119
119
|
);
|
|
120
120
|
await (0, import_adapterService.checkDevicesServer)(this);
|
|
121
121
|
this.log.info(
|