UNPKG

iobroker.ecoflow-mqtt

Version:
1,272 lines (1,271 loc) 37.7 kB
const deviceStates = { inv: { diagnostic: { cfgFanMode: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'Fan mode', cfgFanMode: { 0: 'disabled', 1: 'Level 1', 2: 'Level 2', 3: 'Level 3', }, }, cfgAcChgModeFlg: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'AC charging mode flag', cfgAcChgModeFlg: { 0: '?', 1: '?', }, }, cfgAcOutFreq: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'Inverter output frequency (Hz)', cfgAcOutFreq: { 1: '50 Hz', 2: '60 Hz', 255: 'ignored', }, }, chargerType: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'Charger type', chargerType: { 0: 'no charging', 1: 'AC charging', 2: 'DC adapter charging', 3: 'solar charging', 4: 'CC', 5: 'BC', }, }, fanState: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'Fan state', fanState: { 0: 'disabled', 1: 'Level 1', 2: 'Level 2', 3: 'Level 3', }, }, }, number: { dcInVol: { min: 0, max: 60, unit_of_measurement: 'V', mult: 0.001, entity_type: 'sensor', device_class: 'voltage', name: 'DC input voltage', role: 'value', }, dcInAmp: { min: 0, max: 13, unit_of_measurement: 'A', mult: 0.001, entity_type: 'sensor', device_class: 'current', name: 'DC input current', role: 'value', }, outputWatts: { min: 0, max: 4000, unit_of_measurement: 'W', mult: 1, entity_type: 'sensor', device_class: 'power', name: 'Discharging power', role: 'value', }, invOutFreq: { min: 0, max: 62, unit_of_measurement: 'Hz', mult: 1, entity_type: 'sensor', device_class: 'frequency', name: 'Inverter output frequency', role: 'value', }, inTemp: { min: 0, max: 80, unit_of_measurement: '°C', mult: 1, entity_type: 'sensor', device_class: 'temperature', name: 'Inverter temperature', role: 'value', }, outTemp: { min: 0, max: 90, unit_of_measurement: '°C', mult: 1, entity_type: 'sensor', device_class: 'temperature', name: 'Inverter temperature', role: 'value', }, invOutVol: { min: 0, max: 250, unit_of_measurement: 'V', mult: 0.001, entity_type: 'sensor', device_class: 'voltage', name: 'Actual inverter output voltage', role: 'value', }, invInAmp: { min: 0, max: 13, unit_of_measurement: 'A', mult: 0.001, entity_type: 'sensor', device_class: 'current', name: 'Inverter input current', role: 'value', }, inputWatts: { min: 0, max: 4000, unit_of_measurement: 'W', mult: 1, entity_type: 'sensor', device_class: 'power', name: 'Charging power', role: 'value', }, invInFreq: { min: 0, max: 62, unit_of_measurement: 'Hz', mult: 1, entity_type: 'sensor', device_class: 'frequency', name: 'Inverter input frequency', role: 'value', }, invOutAmp: { min: 0, max: 13, unit_of_measurement: 'A', mult: 0.001, entity_type: 'sensor', device_class: 'current', name: 'Inverter output current', role: 'value', }, invInVol: { min: 0, max: 250, unit_of_measurement: 'V', mult: 0.001, entity_type: 'sensor', device_class: 'voltage', name: 'Inverter input voltage', role: 'value', }, }, string: { cfgAcOutVoltage: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'Inverter output voltage (V): 0xffffffff: ignored', }, errCode: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'Global error code', }, invType: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'PSDR model code', }, sysVer: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'System version', }, }, level: { cfgStandbyMin: { min: 0, max: 720, unit_of_measurement: 'min', mult: 1, entity_type: 'select', device_class: 'duration', select: ['Never', '30 min', '1 hr', '2 hr', '4 hr', '6 hr', '12 hr'], select_obj: { Never: 0, '30 min': 30, '1 hr': 60, '2 hr': 120, '4 hr': 240, '6 hr': 360, '12 hr': 720, }, states: { 0: 'Never', 30: '30 min', 60: '1 hr', 120: '2 hr', 240: '4 hr', 360: '6 hr', 720: '12 hr', }, role: 'level', subrole: 'timer', name: 'AC standby time /min 0 Never standby 720 Default value', }, }, switch: { cfgAcEnabled: { entity_type: 'switch', device_class: 'outlet', role: 'switch', name: 'AC discharge (INV) switch setting', payload_off: 'off', payload_on: 'on', cfgAcEnabled: { 0: 'off', 1: 'on', }, }, cfgAcXboost: { entity_type: 'switch', device_class: 'switch', role: 'switch', name: 'X-Boost switch', payload_off: 'off', payload_on: 'on', cfgAcXboost: { 0: 'off', 1: 'on', ff: 'ignored', }, }, }, }, bmsMaster: { number: { maxCellTemp: { min: 0, max: 80, unit_of_measurement: '°C', mult: 1, entity_type: 'sensor', device_class: 'temperature', name: 'Maximum cell temperature', role: 'value', }, temp: { min: 0, max: 80, unit_of_measurement: '°C', mult: 1, entity_type: 'sensor', device_class: 'temperature', name: 'Temperature', role: 'value', }, cycles: { min: 0, max: 6000, unit_of_measurement: '', mult: 1, entity_type: 'sensor', name: 'Number of cycles', role: 'value', }, remainCap: { min: 0, max: 80000, unit_of_measurement: 'mAh', mult: 1, entity_type: 'sensor', name: 'Remaining capacity', role: 'value', }, vol: { min: 0, max: 60, unit_of_measurement: 'V', mult: 0.001, entity_type: 'sensor', device_class: 'voltage', name: 'Voltage', role: 'value', }, minCellVol: { min: 0, max: 60, unit_of_measurement: 'V', mult: 0.001, entity_type: 'sensor', device_class: 'voltage', name: 'Minimum cell voltage', role: 'value', }, soc: { min: 0, max: 100, unit_of_measurement: '%', mult: 1, entity_type: 'sensor', device_class: 'battery', name: 'Remaining battery percentage', role: 'value', }, amp: { min: 0, max: 25, unit_of_measurement: 'A', mult: 0.001, entity_type: 'sensor', device_class: 'current', name: 'Current', role: 'value', }, minCellTemp: { min: 0, max: 80, unit_of_measurement: '°C', mult: 1, entity_type: 'sensor', device_class: 'temperature', name: 'Minimum cell temperature', role: 'value', }, minMosTemp: { min: 0, max: 80, unit_of_measurement: '°C', mult: 1, entity_type: 'sensor', device_class: 'temperature', name: 'Minimum MOS temperature', role: 'value', }, maxCellVol: { min: 0, max: 60, unit_of_measurement: 'V', mult: 0.001, entity_type: 'sensor', device_class: 'voltage', name: 'Maximum cell voltage', role: 'value', }, fullCap: { min: 0, max: 80000, unit_of_measurement: 'mAh', mult: 1, entity_type: 'sensor', name: 'Full capacity', role: 'value', }, maxMosTemp: { min: 0, max: 80, unit_of_measurement: '°C', mult: 1, entity_type: 'sensor', device_class: 'temperature', name: 'Maximum MOS temperature', role: 'value', }, }, string: { bmsFault: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'BMS permanent fault', }, sysVer: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'System version', }, bqSysStatReg: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'BQ hardware protection register', }, }, diagnostic: { errCode: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'Global error code', errCode: { 0: 'OK?', }, }, }, icon: { ambientLightColor: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'Ambient Light Color', }, ambientLightBrightness: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'Ambient Light Brightness', }, ambientLightAnimate: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'Ambient Light Animate', }, ambientLightEnabled: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'Ambient Light Enabled', }, }, }, pd: { number: { wattsInSum: { min: 0, max: 500, unit_of_measurement: 'W', mult: 1, entity_type: 'sensor', device_class: 'power', name: 'Total input power', role: 'value', }, dcInUsedTime: { min: 0, max: 9999999, unit_of_measurement: 'min', mult: 0.0166, entity_type: 'sensor', device_class: 'duration', name: 'DC charging time', entity_category: 'diagnostic', role: 'value', }, chgPowerDC: { min: 0, unit_of_measurement: 'kWh', mult: 0.001, entity_type: 'sensor', device_class: 'energy', state_class: 'total_increasing', name: 'Cumulative DC power charged for PD (adapter)', role: 'value', }, dsgPowerDC: { min: 0, unit_of_measurement: 'kWh', mult: 0.001, entity_type: 'sensor', device_class: 'energy', state_class: 'total_increasing', name: 'Cumulative DC discharge capacity', role: 'value', }, remainTime: { min: 0, max: 143999, unit_of_measurement: 'min', mult: 1, entity_type: 'sensor', device_class: 'duration', name: 'Time remaining (min) > 0: remaining charging time; time remaining (min) < 0: remaining discharging time', role: 'value', }, usb3Watts: { min: 0, max: 500, unit_of_measurement: 'W', mult: 0.1, entity_type: 'sensor', device_class: 'power', name: 'Common usb3 output power', role: 'value', }, typecUsedTime: { min: 0, max: 9999999, unit_of_measurement: 'min', mult: 0.0166, entity_type: 'sensor', device_class: 'duration', name: 'Type-C use time', entity_category: 'diagnostic', role: 'value', }, typecWatts: { min: 0, max: 500, unit_of_measurement: 'W', mult: 1, entity_type: 'sensor', device_class: 'power', name: 'Type-C output power', role: 'value', }, usbqcUsedTime: { min: 0, max: 9999999, unit_of_measurement: 'min', mult: 0.0166, entity_type: 'sensor', device_class: 'duration', name: 'USB QC use time', entity_category: 'diagnostic', role: 'value', }, chgSunPower: { min: 0, max: 65000, unit_of_measurement: 'kWh', mult: 0.001, entity_type: 'sensor', device_class: 'energy', name: 'Cumulative solar power charged', state_class: 'total_increasing', role: 'value', }, wattsOutSum: { min: 0, max: 4000, unit_of_measurement: 'W', mult: 1, entity_type: 'sensor', device_class: 'power', name: 'Total output power', role: 'value', }, carTemp: { min: 0, max: 80, unit_of_measurement: '°C', mult: 1, entity_type: 'sensor', device_class: 'temperature', name: 'CAR temperature', role: 'value', }, usbUsedTime: { min: 0, max: 9999999, unit_of_measurement: 'min', mult: 0.0166, entity_type: 'sensor', device_class: 'duration', name: 'USB use time', entity_category: 'diagnostic', role: 'value', }, mpptUsedTime: { min: 0, max: 9999999, unit_of_measurement: 'min', mult: 0.0166, entity_type: 'sensor', device_class: 'duration', name: 'MPPT use time', entity_category: 'diagnostic', role: 'value', }, ledWatts: { min: 0, max: 100, unit_of_measurement: 'W', mult: 0.1, entity_type: 'sensor', device_class: 'power', name: 'LED output power', role: 'value', }, usb1Watts: { min: 0, max: 500, unit_of_measurement: 'W', mult: 1, entity_type: 'sensor', device_class: 'power', name: 'Common usb1 output power', role: 'value', }, dsgPowerAC: { min: 0, unit_of_measurement: 'kWh', mult: 0.001, entity_type: 'sensor', device_class: 'energy', state_class: 'total_increasing', name: 'Cumulative AC power discharged ', role: 'value', }, chgPowerAC: { min: 0, unit_of_measurement: 'kWh', mult: 0.001, entity_type: 'sensor', device_class: 'energy', state_class: 'total_increasing', name: 'Cumulative AC power charged for PD (wall socket)', role: 'value', }, carWatts: { min: 0, max: 500, unit_of_measurement: 'W', mult: 0.1, entity_type: 'sensor', device_class: 'power', name: 'CAR output power', role: 'value', }, carUsedTime: { min: 0, max: 9999999, unit_of_measurement: 'min', mult: 0.0166, entity_type: 'sensor', device_class: 'duration', name: 'Car use time', entity_category: 'diagnostic', role: 'value', }, usb2Watts: { min: 0, max: 500, unit_of_measurement: 'W', mult: 1, entity_type: 'sensor', device_class: 'power', name: 'Common usb2 output power', role: 'value', }, soc: { min: 0, max: 100, unit_of_measurement: '%', mult: 1, entity_type: 'sensor', device_class: 'battery', name: 'Displayed SOC', role: 'value', }, typecTemp: { min: 0, max: 80, unit_of_measurement: '°C', mult: 1, entity_type: 'sensor', device_class: 'temperature', name: 'Type-C temperature', role: 'value', }, invUsedTime: { min: 0, max: 9999999, unit_of_measurement: 'min', mult: 0.0166, entity_type: 'sensor', device_class: 'duration', name: 'Inverter use time', entity_category: 'diagnostic', role: 'value', }, }, string: { model: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'Product model', }, bmsSlave: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'BMS slave', }, sysVer: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'System version', }, }, diagnostic: { ledState: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'LED state', payload_off: 'off', payload_on: 'on', ledState: { 0: 'off?', 1: 'on?', }, }, errCode: { entity_type: 'text', entity_category: 'diagnostic', role: 'info', name: 'Global error code', errCode: { 0: 'OK?', }, }, }, switch: { beepState: { entity_type: 'switch', device_class: 'switch', role: 'switch', name: 'Beep status', payload_off: 'normal', payload_on: 'quiet', beepState: { 0: 'Normal', 1: 'Quiet', }, }, carSwitch: { entity_type: 'text', entity_category: 'diagnostic', role: 'switch', name: 'Car charger switch', payload_off: 'off', payload_on: 'on', carSwitch: { 0: 'off?', 1: 'on?', }, }, }, level: { standByMode: { min: 0, max: 5999, unit_of_measurement: 'min', mult: 1, entity_type: 'select', device_class: 'duration', select: ['Never', '30 min', '1 hr', '2 hr', '4 hr', '6 hr', '12 hr'], select_obj: { Never: 0, '30 min': 30, '1 hr': 60, '2 hr': 120, '4 hr': 240, '6 hr': 360, '12 hr': 720, }, states: { 0: 'Never', 30: '30 min', 60: '1 hr', 120: '2 hr', 240: '4 hr', 360: '6 hr', 720: '12 hr', }, UNIT_TIMEOUT_OPTIONS: { Never: 0, '30 min': 30, '1 hr': 60, '2 hr': 120, '4 hr': 240, '6 hr': 360, '12 hr': 720, '24 hr': 1440, }, role: 'level', subrole: 'timer', name: 'Device standby time /min 0 Never standby 5999 Max value', standByMode: { 0: 'Never standby', 5999: 'Max value', }, }, }, }, action: { switch: { latestQuotas: { entity_type: 'switch', device_class: 'switch', role: 'switch', name: 'Get latest Quotas', payload_off: 'no trigger', payload_on: 'trigger', latestQuotas: { 0: 'no trigger', 1: 'trigger', }, }, getAllTaskCfg: { entity_type: 'switch', device_class: 'switch', role: 'switch', name: 'Get all tasks', payload_off: 'no trigger', payload_on: 'trigger', getAllTaskCfg: { 0: 'no trigger', 1: 'trigger', }, }, }, }, info: { number: { msgCount: { min: 0, unit_of_measurement: '', mult: 1, entity_type: 'sensor', name: 'received MSG#', role: 'value', }, }, diagnostic: { status: { entity_type: 'text', entity_category: 'diagnostic', name: 'Status', role: 'info', status: { 0: 'offline', 1: 'online', }, }, }, }, }; const deviceStatesDict = { rivermax: { inv: { cfgFanMode: { entity: 'diagnostic', }, dcInVol: { entity: 'number', }, cfgAcOutVoltage: { entity: 'string', }, cfgAcChgModeFlg: { entity: 'diagnostic', }, cfgStandbyMin: { entity: 'level', }, dcInAmp: { entity: 'number', }, cfgAcOutFreq: { entity: 'diagnostic', }, errCode: { entity: 'string', }, outputWatts: { entity: 'number', }, invOutFreq: { entity: 'number', }, chargerType: { entity: 'diagnostic', }, fanState: { entity: 'diagnostic', }, inTemp: { entity: 'number', }, cfgAcEnabled: { entity: 'switch', }, cfgAcXboost: { entity: 'switch', }, outTemp: { entity: 'number', }, invType: { entity: 'string', }, invOutVol: { entity: 'number', }, invInAmp: { entity: 'number', }, inputWatts: { entity: 'number', }, invInFreq: { entity: 'number', }, invOutAmp: { entity: 'number', }, invInVol: { entity: 'number', }, sysVer: { entity: 'string', }, }, bmsMaster: { maxCellTemp: { entity: 'number', }, bmsFault: { entity: 'string', }, sysVer: { entity: 'string', }, temp: { entity: 'number', }, cycles: { entity: 'number', }, remainCap: { entity: 'number', }, vol: { entity: 'number', }, errCode: { entity: 'diagnostic', }, minCellVol: { entity: 'number', }, soc: { entity: 'number', }, bqSysStatReg: { entity: 'string', }, amp: { entity: 'number', }, minCellTemp: { entity: 'number', }, minMosTemp: { entity: 'number', }, maxCellVol: { entity: 'number', }, fullCap: { entity: 'number', }, maxMosTemp: { entity: 'number', }, ambientLightColor: { entity: 'icon', }, ambientLightBrightness: { entity: 'icon', }, ambientLightAnimate: { entity: 'icon', }, ambientLightEnabled: { entity: 'icon', }, }, pd: { wattsInSum: { entity: 'number', }, dcInUsedTime: { entity: 'number', }, chgPowerDC: { entity: 'number', }, dsgPowerDC: { entity: 'number', }, model: { entity: 'string', }, ledState: { entity: 'diagnostic', }, beepState: { entity: 'switch', }, remainTime: { entity: 'number', }, usb3Watts: { entity: 'number', }, typecUsedTime: { entity: 'number', }, typecWatts: { entity: 'number', }, usbqcUsedTime: { entity: 'number', }, chgSunPower: { entity: 'number', }, wattsOutSum: { entity: 'number', }, carSwitch: { entity: 'switch', }, carTemp: { entity: 'number', }, usbUsedTime: { entity: 'number', }, mpptUsedTime: { entity: 'number', }, ledWatts: { entity: 'number', }, usb1Watts: { entity: 'number', }, standByMode: { entity: 'level', }, dsgPowerAC: { entity: 'number', }, chgPowerAC: { entity: 'number', }, errCode: { entity: 'diagnostic', }, bmsSlave: { entity: 'string', }, sysVer: { entity: 'string', }, carWatts: { entity: 'number', }, carUsedTime: { entity: 'number', }, usb2Watts: { entity: 'number', }, soc: { entity: 'number', }, typecTemp: { entity: 'number', }, invUsedTime: { entity: 'number', }, }, action: { latestQuotas: { entity: 'switch', }, getAllTaskCfg: { entity: 'switch', }, }, info: { msgCount: { entity: 'number' }, status: { entity: 'diagnostic', }, }, }, }; const deviceRanges = { rivermax: { pd: { number: { wattsInSum: { max: 500, }, }, }, }, }; const deviceCmd = { rivermax: { inv: { cfgAcEnabled: { valName: 'enabled', moduleType: 0, msg: { from: 'Android', operateType: 'TCP', id: '554272649', lang: 'en-us', params: { id: 66, enabled: 1, }, version: '1.0', }, }, cfgAcXboost: { valName: 'xboost', moduleType: 0, msg: { from: 'Android', operateType: 'TCP', id: '602507362', lang: 'en-us', params: { id: 66, xboost: 1, }, version: '1.0', }, }, cfgStandbyMin: { valName: 'standByMins', msg: { from: 'Android', operateType: 'TCP', id: '153750799', lang: 'en-us', params: { id: 153, standByMins: 360, }, version: '1.0', }, }, }, pd: { beepState: { valName: 'enabled', moduleType: 0, msg: { from: 'Android', operateType: 'TCP', id: '834553333', lang: 'en-us', params: { id: 38, enabled: 1, }, version: '1.0', }, }, standByMode: { valName: 'standByMode', moduleType: 0, msg: { from: 'Android', operateType: 'TCP', id: '119032574', lang: 'en-us', params: { id: 33, standByMode: 360, }, version: '1.0', }, }, carSwitch: { valName: 'enabled', moduleType: 0, msg: { from: 'Android', operateType: 'TCP', id: '689699572', lang: 'en-us', params: { id: 34, enabled: 1, }, version: '1.0', }, }, }, action: { latestQuotas: { moduleType: 0, msg: { from: 'iOS', operateType: 'latestQuotas', id: '83154039', lang: 'de-de', params: {}, version: '1.0', }, }, getAllTaskCfg: { msg: { from: 'iOS', operateType: 'getAllTaskCfg', id: '83154039', lang: 'de-de', params: {}, version: '1.0', }, }, }, }, }; module.exports = { deviceStates, deviceStatesDict, deviceRanges, deviceCmd, };