iobroker.ecoflow-mqtt
Version:
connects to ecoflow products
2,124 lines (2,110 loc) • 71.4 kB
JavaScript
const deviceStates = {
inverter_heartbeat: {
number: {
pv1InputVolt: {
min: 0,
max: 60,
unit_of_measurement: 'V',
mult: 0.1,
entity_type: 'sensor',
device_class: 'voltage',
name: 'PV1 input voltage',
unique_id: 'efstream_pv1InputVolt',
role: 'value'
},
pv1OpVolt: {
min: 0,
max: 62,
unit_of_measurement: 'V',
mult: 0.01,
entity_type: 'sensor',
device_class: 'voltage',
name: 'PV1 operation voltage',
unique_id: 'efstream_pv1OpVolt',
role: 'value'
},
pv1InputCur: {
min: 0,
max: 13,
unit_of_measurement: 'A',
mult: 0.1,
entity_type: 'sensor',
device_class: 'current',
name: 'PV1 input current',
unique_id: 'efstream_pv1InputCur',
role: 'value'
},
pv1InputWatts: {
min: 0,
max: 600,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
name: 'PV1 input power',
unique_id: 'efstream_pv1InputWatts',
role: 'value'
},
pv1Temp: {
min: 0,
max: 80,
unit_of_measurement: '°C',
mult: 0.1,
entity_type: 'sensor',
device_class: 'temperature',
name: 'PV1 mppt temperature',
unique_id: 'efstream_pv1Temp',
role: 'value'
},
pv2InputVolt: {
min: 0,
max: 60,
unit_of_measurement: 'V',
mult: 0.1,
entity_type: 'sensor',
device_class: 'voltage',
name: 'PV2 input voltage',
unique_id: 'efstream_pv2InputVolt',
role: 'value'
},
pv2OpVolt: {
min: 0,
max: 62,
unit_of_measurement: 'V',
mult: 0.01,
entity_type: 'sensor',
device_class: 'voltage',
name: 'PV2 operation voltage',
unique_id: 'efstream_pv2OpVolt',
role: 'value'
},
pv2InputCur: {
min: 0,
max: 13,
unit_of_measurement: 'A',
mult: 0.1,
entity_type: 'sensor',
device_class: 'current',
name: 'PV2 input current',
unique_id: 'efstream_pv2InputCur',
role: 'value'
},
pv2InputWatts: {
min: 0,
max: 600,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
name: 'PV2 input power',
unique_id: 'efstream_pv2InputWatts',
role: 'value'
},
pv2Temp: {
min: 0,
max: 80,
unit_of_measurement: '°C',
mult: 0.1,
entity_type: 'sensor',
device_class: 'temperature',
name: 'PV2 mppt temperature',
unique_id: 'efstream_pv2Temp',
role: 'value'
},
batInputVolt: {
min: 0,
max: 60,
unit_of_measurement: 'V',
mult: 0.1,
entity_type: 'sensor',
device_class: 'voltage',
name: 'Battery input voltage',
unique_id: 'efstream_batInputVolt',
role: 'value'
},
batOpVolt: {
min: 0,
max: 62,
unit_of_measurement: 'V',
mult: 0.1,
entity_type: 'sensor',
device_class: 'voltage',
name: 'Battery operation voltage',
unique_id: 'efstream_batOpVolt',
role: 'value'
},
batInputCur: {
min: 0,
max: 20,
unit_of_measurement: 'A',
mult: 0.001,
entity_type: 'sensor',
device_class: 'current',
name: 'Battery input current',
unique_id: 'efstream_batInputCur',
role: 'value'
},
batInputWatts: {
min: 0,
max: 800,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
name: 'Battery input power',
unique_id: 'efstream_batInputWatts',
role: 'value'
},
batTemp: {
min: 0,
max: 90,
unit_of_measurement: '°C',
mult: 0.1,
entity_type: 'sensor',
device_class: 'temperature',
name: 'Battery temperature',
unique_id: 'efstream_batTemp',
role: 'value'
},
batSoc: {
min: 0,
max: 100,
unit_of_measurement: '%',
mult: 1,
entity_type: 'sensor',
device_class: 'battery',
name: 'Battery state of charge',
unique_id: 'efstream_batSoc',
role: 'value'
},
llcInputVolt: {
min: 0,
max: 65,
unit_of_measurement: 'V',
mult: 0.1,
entity_type: 'sensor',
device_class: 'voltage',
name: 'Converter input voltage',
unique_id: 'efstream_llcInputVolt',
role: 'value'
},
llcOpVolt: {
min: 0,
max: 62,
unit_of_measurement: 'V',
mult: 0.01,
entity_type: 'sensor',
device_class: 'voltage',
name: 'Converter operation voltage',
unique_id: 'efstream_llcOpVolt',
role: 'value'
},
llcTemp: {
min: 0,
max: 80,
unit_of_measurement: '°C',
mult: 0.1,
entity_type: 'sensor',
device_class: 'temperature',
name: 'Converter temperature',
unique_id: 'efstream_llcTemp',
role: 'value'
},
invInputVolt: {
min: 0,
max: 60,
unit_of_measurement: 'V',
mult: 0.01,
entity_type: 'sensor',
device_class: 'voltage',
name: 'Inverter DC input voltage',
unique_id: 'efstream_invInputVolt',
role: 'value'
},
invOpVolt: {
min: 0,
max: 250,
unit_of_measurement: 'V',
mult: 0.1,
entity_type: 'sensor',
device_class: 'voltage',
name: 'Inverter AC output voltage',
unique_id: 'efstream_invOpVolt',
role: 'value'
},
invOutputCur: {
min: 0,
max: 20,
unit_of_measurement: 'A',
mult: 0.001,
entity_type: 'sensor',
device_class: 'current',
name: 'Inverter AC output current',
unique_id: 'efstream_invOutputCur',
role: 'value'
},
invOutputWatts: {
min: 0,
max: 810,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
name: 'Inverter AC power',
unique_id: 'efstream_invOutputWatts',
role: 'value'
},
invTemp: {
min: 0,
max: 80,
unit_of_measurement: '°C',
mult: 0.1,
entity_type: 'sensor',
device_class: 'temperature',
name: 'Inverter temperature',
unique_id: 'efstream_invTemp',
role: 'value'
},
invFreq: {
min: 0,
max: 52,
unit_of_measurement: 'Hz',
mult: 0.1,
entity_type: 'sensor',
device_class: 'frequency',
name: 'Inverter AC frequency',
unique_id: 'efstream_invFreq',
role: 'value'
},
invDcCur: {
min: 0,
max: 20,
unit_of_measurement: 'A',
mult: 0.001,
entity_type: 'sensor',
device_class: 'current',
name: 'Inverter DC input current',
unique_id: 'efstream_invDcCur',
role: 'value'
},
dynamicWatts: {
min: 0,
max: 10000,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
name: 'Dynamic Power',
unique_id: 'efstream_dynamicWatts',
role: 'value'
},
heartbeatFrequency: {
min: 0,
max: 20,
unit_of_measurement: 'Hz',
mult: 1,
entity_type: 'sensor',
device_class: 'frequency',
name: 'Inverter heartbeat',
unique_id: 'efstream_heartbeatFrequency',
role: 'value'
},
batChargingTime: {
min: 0,
max: 144000,
unit_of_measurement: 'min',
mult: 1,
entity_type: 'sensor',
device_class: 'duration',
name: 'Battery Charging Time',
unique_id: 'efstream_batMinutes',
role: 'value',
icon: 'mdi:clock-start'
},
batDischargingTime: {
min: 0,
max: 144000,
unit_of_measurement: 'min',
mult: 1,
entity_type: 'sensor',
device_class: 'duration',
name: 'Battery Discharging Time',
unique_id: 'efstream_batMinutes',
role: 'value',
icon: 'mdi:clock-start'
},
pvToInvWatts: {
min: 0,
max: 5000,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'pv to inv watts'
},
gridConsWatts: {
min: 0,
max: 10000,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'grid cons watts'
},
plugTotalWatts: {
min: 0,
max: 10000,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'voltage',
role: 'value',
name: 'plug total watts'
},
invToPlugWatts: {
min: 0,
max: 5000,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'inv to plug watts'
},
spaceDemandWatts: {
min: 0,
max: 5000,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'space demand watts'
},
invDemandWatts: {
min: 0,
max: 5000,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'inv demand watts'
},
bmsReqChgVol: {
min: 0,
max: 65,
unit_of_measurement: 'V',
mult: 0.0001,
entity_type: 'sensor',
device_class: 'voltage',
role: 'value',
name: 'bms req chg vol'
},
bmsReqChgAmp: {
min: 0,
max: 15,
unit_of_measurement: 'A',
mult: 0.00001,
entity_type: 'sensor',
device_class: 'current',
role: 'value',
name: 'bms req chg amp'
},
invToOtherWatts: {
min: 0,
max: 5000,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'inv to other watts'
},
wifiRssi: {
min: -90,
max: 10,
unit_of_measurement: 'dBm',
mult: 1,
entity_type: 'sensor',
device_class: 'signal_strength',
role: 'value',
name: 'wifi rssi',
subrole: 'number'
},
pvPowerLimitAcPower: {
min: 0,
max: 850,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'pv power limit ac power'
},
geneNum: {
min: 0,
max: 10,
unit_of_measurement: 'pcs',
mult: 1,
entity_type: 'sensor',
role: 'value',
name: 'gene num',
subrole: 'number'
},
consNum: {
min: 0,
max: 20,
unit_of_measurement: 'pcs',
mult: 1,
entity_type: 'sensor',
role: 'value',
name: 'cons num',
subrole: 'number'
},
geneWatt: {
min: 0,
max: 5000,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'gene watt'
},
consWatt: {
min: 0,
max: 10000,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'cons watt'
},
acSetWatts: {
min: 0,
max: 900,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'ac set watts'
},
fisoRxyz: {
min: 0,
max: 1000,
unit_of_measurement: 'V',
mult: 1,
entity_type: 'sensor',
device_class: 'voltage',
role: 'value',
name: 'fiso rxyz'
},
historyPvToInvWatts: {
min: 0,
unit_of_measurement: 'kWh',
mult: 0.001,
entity_type: 'sensor',
device_class: 'energy',
role: 'value',
name: 'history pv to inv watts'
},
historyBatInputWatts: {
min: 0,
unit_of_measurement: 'kWh',
mult: 0.001,
entity_type: 'sensor',
device_class: 'energy',
role: 'value',
name: 'history bat input watts'
},
historyInvOutputWatts: {
min: 0,
unit_of_measurement: 'kWh',
mult: 0.001,
entity_type: 'sensor',
device_class: 'energy',
role: 'value',
name: 'history inv output watts'
},
historyGridConsWatts: {
min: 0,
unit_of_measurement: 'kWh',
mult: 0.001,
entity_type: 'sensor',
device_class: 'energy',
role: 'value',
name: 'history grid cons watts'
},
historyPlugTotalWatts: {
min: 0,
unit_of_measurement: 'kWh',
mult: 0.001,
entity_type: 'sensor',
device_class: 'energy',
role: 'value',
name: 'history plug total watts'
},
historyInvToPlugWatts: {
min: 0,
unit_of_measurement: 'kWh',
mult: 0.001,
entity_type: 'sensor',
device_class: 'energy',
role: 'value',
name: 'history inv to plug watts'
},
historyPermanentWatts: {
min: 0,
unit_of_measurement: 'kWh',
mult: 0.001,
entity_type: 'sensor',
device_class: 'energy',
role: 'value',
name: 'history permanent watts'
},
espTempsensor: {
min: -20,
max: 90,
unit_of_measurement: '°C',
mult: 0.1,
entity_type: 'sensor',
device_class: 'temperature',
role: 'value',
name: 'esp tempsensor'
},
floadLimitOut: {
min: 0,
max: 850,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'fload limit out'
},
invOutputLoadLimit: {
min: 0,
max: 850,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'inv output load limit'
},
batOutputLoadLimit: {
min: 0,
max: 850,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'bat output load limit'
},
batErrorInvLoadLimit: {
min: 0,
max: 850,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
role: 'value',
name: 'bat error inv load limit'
}
},
level: {
permanentWatts: {
min: 0,
max: 800,
unit_of_measurement: 'W',
mult: 0.1,
step: 1,
entity_type: 'number',
device_class: 'power',
name: 'Permanent Power',
unique_id: 'efstream_permanentWatts',
role: 'level'
},
lowerLimit: {
min: 0,
max: 30,
unit_of_measurement: '%',
mult: 1,
step: 1,
entity_type: 'number',
device_class: 'battery',
name: 'Battery SOC lower limit',
unique_id: 'efstream_lowerLimit',
icon: 'mdi:speedometer',
role: 'level'
},
upperLimit: {
min: 50,
max: 100,
unit_of_measurement: '%',
mult: 1,
step: 1,
entity_type: 'number',
device_class: 'battery',
name: 'Battery SOC upper limit',
unique_id: 'efstream_upperLimit',
icon: 'mdi:speedometer',
role: 'level'
},
invBrightness: {
min: 0,
max: 100,
unit_of_measurement: '%',
mult: 0.1,
step: 1,
entity_type: 'number',
device_class: 'illuminance',
name: 'Inverter brightness',
unique_id: 'efstream_invBrightness',
role: 'level',
subrole: 'brightness'
},
ratedPower: {
min: 0,
max: 800,
unit_of_measurement: 'W',
mult: 0.1,
step: 1,
entity_type: 'number',
device_class: 'power',
name: 'Inverter rated power',
unique_id: 'efstream_ratedPower',
role: 'level'
}
},
diagnostic: {
invErrCode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Inverter Error Code',
unique_id: 'efstream_invErrCode',
role: 'info',
invErrCode: {
'0': 'OK',
'8': 'high voltage?',
'72': 'no voltage?',
'4096': 'no voltage',
'4160': '4160',
'8192': '8192',
'12288': '12288'
}
},
invWarnCode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Inverter Warning Code',
unique_id: 'efstream_invWarnCode',
role: 'info',
invWarnCode: { '0': '0' }
},
pv1ErrCode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'PV1 Error Code',
unique_id: 'efstream_pv1ErrCode',
role: 'info',
pv1ErrCode: { '0': '0', '128': '128', '130': '130', '256': '256', '384': '384' }
},
pv1WarnCode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'PV1 Warning Code',
unique_id: 'efstream_pv1WarnCode',
role: 'info',
pv1WarnCode: { '0': '0' }
},
pv2ErrCode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'PV2 Error Code',
unique_id: 'efstream_pv2ErrCode',
role: 'info',
pv2ErrCode: { '0': '0', '128': '128', '130': '130', '256': '256', '384': '384' }
},
pv2WarningCode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'PV2 Warning Code',
unique_id: 'efstream_pv2WarningCode',
role: 'info',
pv2WarningCode: { '0': '0' }
},
batErrCode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Battery Error Code',
unique_id: 'efstream_batErrCode',
role: 'info',
batErrCode: { '0': '0', '4': '4', '8': '8' }
},
batWarningCode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Battery Warning Code',
unique_id: 'efstream_batWarningCode',
role: 'info',
batWarningCode: { '0': '0' }
},
llcErrCode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'llc Error Code',
unique_id: 'efstream_llcErrCode',
role: 'info',
llcErrCode: { '0': '0', '1': '1' }
},
llcWarningCode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'llc Warning Code',
unique_id: 'efstream_llcWarningCode',
role: 'info',
llcWarningCode: { '0': '0' }
},
wirelessErrCode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Wireless Error Code',
unique_id: 'efstream_wirelessErrCode',
role: 'info',
wirelessErrCode: { '0': '0' }
},
wirelessWarnCode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Wireless Warning Code',
unique_id: 'efstream_wirelessWarnCode',
role: 'info',
wirelessWarnCode: { '0': '0' }
},
pv1Status: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'PV1 Status',
unique_id: 'efstream_pv1Status',
role: 'info',
pv1Status: { '1': '1', '2': '2', '3': '3', '4': '4', '6': '6', '7': '7' }
},
pv2Status: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'PV2 Status',
unique_id: 'efstream_pv2Status',
role: 'info',
pv2Status: { '1': '1', '2': '2', '3': '3', '4': '4', '6': '6', '7': '7' }
},
batStatus: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Battery Status',
unique_id: 'efstream_batStatus',
role: 'info',
batStatus: { '5': '5' }
},
llcStatus: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'llc Status',
unique_id: 'efstream_llcStatus',
role: 'info',
llcStatus: { '1': 'idle', '2': 'starting/check logic', '3': '3', '5': '5', '6': '6' }
},
invStatus: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Inverter Status',
unique_id: 'efstream_invStatus',
role: 'info',
invStatus: {
'1': 'synced/idle',
'2': 'starting/check inv. logic',
'6': 'successful grid connection',
'11': 'disconnected'
}
},
invRelayStatus: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Inverter Relay Status',
unique_id: 'efstream_invRelayStatus',
role: 'info',
invRelayStatus: { '0': 'on', '8': '8', '16': '16', '17': '17', '18': '18', '24': '24' }
},
pv1RelayStatus: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'PV1 Relay Status',
unique_id: 'efstream_pv1RelayStatus',
role: 'info',
pv1RelayStatus: { '0': '0' }
},
pv2RelayStatus: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'PV2 Relay Status',
unique_id: 'efstream_pv2RelayStatus',
role: 'info',
pv2RelayStatus: { '0': '0' }
},
invOnOff: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Inverter OnOff:',
unique_id: 'efstream_invOnOff:',
role: 'info',
invOnOff: { '0': '0', '1': '1' }
},
bpType: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Batterypack Type',
unique_id: 'efstream_bpType',
role: 'info',
bpType: { '0': 'no battery', '1': 'secondary pack', '2': 'primary pack', '3': 'primary pack' }
}
},
string: {
installCountry: {
entity_type: 'text',
entity_category: 'diagnostic',
role: 'info',
unique_id: 'efstream_installCountry',
name: 'Install Country'
},
installTown: {
entity_type: 'text',
entity_category: 'diagnostic',
role: 'info',
unique_id: 'efstream_installTown',
name: 'Install Town'
},
interfaceConnFlag: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'interface conn flag',
role: 'info'
},
pv1CtrlMpptOffFlag: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'pv1 ctrl mppt off flag',
role: 'info'
},
pv2CtrlMpptOffFlag: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'pv2 ctrl mppt off flag',
role: 'info'
},
batOffFlag: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'bat off flag',
role: 'info'
},
llcOffFlag: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'llc off flag',
role: 'info'
},
acOffFlag: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'ac off flag',
role: 'info'
},
uwloadLimitFlag: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'uwload limit flag',
role: 'info'
},
invLoadLimitFlag: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'inv load limit flag',
role: 'info'
},
batLoadLimitFlag: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'bat load limit flag',
role: 'info'
},
antiBackFlowFlag: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'anti back flow flag',
role: 'info'
},
uwsocFlag: { entity_type: 'text', entity_category: 'diagnostic', name: 'uwsoc flag', role: 'info' },
uwlowLightFlag: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'uwlow light flag',
role: 'info'
},
batSystem: { entity_type: 'text', entity_category: 'diagnostic', name: 'bat system', role: 'info' },
resetReason: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'reset reason',
role: 'info'
},
resetCount: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'reset count',
role: 'info'
},
meshId: { entity_type: 'text', entity_category: 'diagnostic', name: 'mesh id', role: 'info' },
meshLayel: { entity_type: 'text', entity_category: 'diagnostic', name: 'mesh layel', role: 'info' },
selfMac: { entity_type: 'text', entity_category: 'diagnostic', name: 'self mac', role: 'info' },
parentMac: { entity_type: 'text', entity_category: 'diagnostic', name: 'parent mac', role: 'info' },
staIpAddr: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'sta ip addr',
role: 'info'
},
wifiErr: { entity_type: 'text', entity_category: 'diagnostic', name: 'wifi err', role: 'info' },
wifiErrTime: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'wifi err time',
role: 'info'
},
mqttErr: { entity_type: 'text', entity_category: 'diagnostic', name: 'mqtt err', role: 'info' },
mqttErrTime: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'mqtt err time',
role: 'info'
},
stackFree: { entity_type: 'text', entity_category: 'diagnostic', name: 'stack free', role: 'info' },
stackMinFree: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'stack min free',
role: 'info'
},
mqttTlsLastErr: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'mqtt tls last err',
role: 'info'
},
mqttTlsStackErr: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'mqtt tls stack err',
role: 'info'
},
mqttSockErrno: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'mqtt sock errno',
role: 'info'
},
mqttLastDisReason: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'mqtt last dis reason',
role: 'info'
},
mqttConnectReturnCode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'mqtt connect return code',
role: 'info'
},
wifiFirmwareVersion: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'wifi firmware version',
role: 'info'
},
wifiConnectChannel: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'wifi connect channel',
role: 'info'
},
wifiEncryptMode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'wifi encrypt mode',
role: 'info'
},
noiseFloor: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'noise floor',
role: 'info'
},
rssiThreshold: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'rssi threshold',
role: 'info'
},
rssiVariance: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'rssi variance',
role: 'info'
}
},
switch: {
supplyPriority: {
entity_type: 'switch',
device_class: 'switch',
payload_off: 'supply prio',
payload_on: 'charge prio',
name: 'Supply Priority',
unique_id: 'efstream_supplyPriority',
role: 'switch',
supplyPriority: { '0': 'supply prio', '1': 'charge prio' }
},
feedPriority: {
entity_type: 'switch',
device_class: 'switch',
payload_off: 'all sun to power',
payload_on: 'only permanent watt',
name: 'Excessive Power Feed Priority',
unique_id: 'efstream_feedPriority',
role: 'switch',
feedPriority: { '0': 'all sun to power', '1': 'only permanent watt' }
}
}
},
/*
InverterHeartbeat2: {
number: {
upperLimit: {
min: 60,
max: 100,
unit_of_measurement: '%',
mult: 1,
entity_type: 'sensor',
device_class: 'battery',
name: 'Charging upper limit',
role: 'value'
},
lowerLimit: {
min: 0,
max: 30,
unit_of_measurement: '%',
mult: 1,
entity_type: 'sensor',
device_class: 'battery',
name: 'Discharging lower limit',
role: 'value'
},
baseLoad: {
min: 0,
max: 800,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
name: 'Home base load',
role: 'value'
},
powerPlugsPos: {
min: 0,
max: 10000,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
name: 'Power of plugs',
role: 'value'
},
uptime: {
min: 0,
unit_of_measurement: 's',
mult: 1,
entity_type: 'sensor',
device_class: 'duration',
name: 'Power Stream uptime',
role: 'value'
},
gridWatt_45: {
min: 0,
max: 10000,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
name: 'Power to Grid',
role: 'value'
},
powerPlugsNeg: {
min: 0,
max: 10000,
unit_of_measurement: 'W',
mult: 0.1,
entity_type: 'sensor',
device_class: 'power',
name: 'Power of plugs (-)',
role: 'value'
},
wifiRssi: {
min: -90,
max: 10,
unit_of_measurement: 'dBm',
mult: 1,
entity_type: 'sensor',
device_class: 'signal_strength',
name: 'wifi RSSI',
role: 'value'
},
X_Unknown_15: {
min: -1000,
max: 1000,
unit_of_measurement: '',
mult: 1,
entity_type: 'sensor',
entity_category: 'diagnostic',
name: 'X_Unknown_15',
role: 'value'
},
X_Unknown_17: {
min: 0,
max: 100,
unit_of_measurement: '',
mult: 0.0001,
entity_type: 'sensor',
entity_category: 'diagnostic',
name: 'X_Unknown_17',
role: 'value'
},
X_Unknown_34: {
min: -100,
max: 100,
unit_of_measurement: '',
mult: 1,
entity_type: 'sensor',
entity_category: 'diagnostic',
name: 'X_Unknown_34',
role: 'value'
}
},
string: {
pv1Active_1: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_1',
role: 'info'
},
pv1Status_2: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_2',
role: 'info'
},
pv2Active_3: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_3',
role: 'info'
},
pv2Status_4: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_4',
role: 'info'
},
X_Unknown_5: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_5',
role: 'info'
},
status_6: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_6',
role: 'info'
},
status_9: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_9',
role: 'info'
},
status_10: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_10',
role: 'info'
},
X_Unknown_11: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_11',
role: 'info'
},
X_Unknown_14: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_14',
role: 'info'
},
X_Unknown_16: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_16',
role: 'info'
},
X_Unknown_18: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_18',
role: 'info'
},
X_Unknown_19: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_19',
role: 'info'
},
X_Unknown_20: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_20',
role: 'info'
},
X_Unknown_21: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_21',
role: 'info'
},
X_Unknown_22: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_22',
role: 'info'
},
X_Unknown_23: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_23',
role: 'info'
},
X_Unknown_24: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_24',
role: 'info'
},
X_Unknown_25: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_25',
role: 'info'
},
X_Unknown_26: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_26',
role: 'info'
},
X_Unknown_27: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_27',
role: 'info'
},
X_Unknown_28: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_28',
role: 'info'
},
X_Unknown_29: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_29',
role: 'info'
},
X_Unknown_30: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_30',
role: 'info'
},
X_Unknown_31: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_31',
role: 'info'
},
X_Unknown_33: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_33',
role: 'info'
},
X_Unknown_35: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_35',
role: 'info'
},
X_Unknown_36: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_36',
role: 'info'
},
X_Unknown_37: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_37',
role: 'info'
},
X_Unknown_38: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_38',
role: 'info'
},
X_Unknown_39: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_39',
role: 'info'
},
X_Unknown_40: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_40',
role: 'info'
},
X_Unknown_41: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_41',
role: 'info'
},
X_Unknown_42: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_42',
role: 'info'
},
X_Unknown_43: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_43',
role: 'info'
},
plugsConn_44: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_44',
role: 'info'
},
X_Unknown_47: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_47',
role: 'info'
},
unixtime_48: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_48',
role: 'info'
},
X_Unknown_49: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_49',
role: 'info'
},
unixtime_50: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_50',
role: 'info'
},
X_Unknown_51: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'X_Unknown_51',
role: 'info'
}
}
},
*/
energy: {
number: {
watth1: {
min: 0,
max: 6000,
unit_of_measurement: 'Wh',
mult: 1,
entity_type: 'sensor',
device_class: 'energy',
name: 'Energy to house loads',
unique_id: 'efstream_watth1',
role: 'value'
},
watth2: {
min: 0,
max: 6000,
unit_of_measurement: 'Wh',
mult: 1,
entity_type: 'sensor',
device_class: 'energy',
name: 'Energy to smart plugs',
unique_id: 'efstream_watth2',
role: 'value'
},
watth3: {
min: 0,
max: 6000,
unit_of_measurement: 'Wh',
mult: 1,
entity_type: 'sensor',
device_class: 'energy',
name: 'Energy to battery',
unique_id: 'efstream_watth3',
role: 'value'
},
watth4: {
min: 0,
max: 6000,
unit_of_measurement: 'Wh',
mult: 1,
entity_type: 'sensor',
device_class: 'energy',
name: 'Energy from battery',
unique_id: 'efstream_watth4',
role: 'value'
},
watth5: {
min: 0,
max: 60000,
unit_of_measurement: 'Wh',
mult: 1,
entity_type: 'sensor',
device_class: 'energy',
name: 'Energy of smart plug',
unique_id: 'efstream_watth5',
role: 'value'
},
watth6: {
min: 0,
max: 1440,
unit_of_measurement: 'min',
mult: 1,
entity_type: 'sensor',
device_class: 'duration',
name: 'Smart plug ON time',
unique_id: 'efstream_watth6',
role: 'value'
},
watth7: {
min: 0,
max: 6000,
unit_of_measurement: 'Wh',
mult: 1,
entity_type: 'sensor',
device_class: 'energy',
name: 'Energy from solar PV1',
unique_id: 'efstream_watth7',
role: 'value'
},
watth8: {
min: 0,
max: 6000,
unit_of_measurement: 'Wh',
mult: 1,
entity_type: 'sensor',
device_class: 'energy',
name: 'Energy from solar PV2',
unique_id: 'efstream_watth8',
role: 'value'
},
watth16: {
min: 0,
max: 10000,
unit_of_measurement: 'Wh',
mult: 1,
entity_type: 'sensor',
device_class: 'energy',
name: 'Energy 16',
unique_id: 'efstream_watth16',
role: 'value'
},
watth17: {
min: 0,
max: 10000,
unit_of_measurement: 'Wh',
mult: 1,
entity_type: 'sensor',
device_class: 'energy',
name: 'Energy 17',
unique_id: 'efstream_watth17',
role: 'value'
},
watth18: {
min: 0,
max: 10000,
unit_of_measurement: 'Wh',
mult: 1,
entity_type: 'sensor',
device_class: 'energy',
name: 'Energy 18',
unique_id: 'efstream_watth18',
role: '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' }
}
}
},
info: {
diagnostic: {
status: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Cloud Connection Status',
role: 'info',
status: { '-2': 'offline', '0': 'offline', '1': 'online' }
}
}
},
time_task_config_post: {
tasks: {
taskIndex: {
min: 0,
max: 11,
unit_of_measurement: '',
mult: 1,
entity_type: 'sensor',
name: 'Task index',
role: 'value'
},
type: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Task type',
role: 'info',
type: {
1: 'prioritize power supply',
2: 'prioritize power storage',
3: 'plug switch off?',
4: 'plug switch on?'
}
},
timeRange: {
isConfig: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Task configuration',
role: 'info',
isConfig: {
'0': 'not configured',
'1': 'configured'
}
},
isEnable: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Task activation',
role: 'info',
isEnable: {
'0': 'not enabled',
'1': 'enabled'
}
},
timeMode: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Task activation',
role: 'info',
timeMode: {
'0': 'daily',
'1': 'weekly',
'2': 'monthly',
'3': 'do not repeat'
}
},
startTime: {
week: {
min: 0,
max: 52,
unit_of_measurement: 'week',
mult: 1,
entity_type: 'sensor',
name: 'week',
role: 'value'
},
sec: {
min: 0,
max: 59,
unit_of_measurement: 's',
mult: 1,
entity_type: 'sensor',
name: 'second',
role: 'value'
},
min: {
min: 0,
max: 59,
unit_of_measurement: 'min',
mult: 1,
entity_type: 'sensor',
name: 'minute',
role: 'value'
},
hour: {
min: 0,
max: 23,
unit_of_measurement: 'hour',
mult: 1,
entity_type: 'sensor',
name: 'hour',
role: 'value'
},
day: {
min: 0,
max: 31,
unit_of_measurement: 'day',
mult: 1,
entity_type: 'sensor',
name: 'day',
role: 'value'
},
month: {
min: 0,
max: 12,
unit_of_measurement: 'month',
mult: 1,
entity_type: 'sensor',
name: 'month',
role: 'value'
},
year: {
min: 0,
max: 2050,
unit_of_measurement: 'year',
mult: 1,
entity_type: 'sensor',
name: 'year',
role: 'value'
}
},
stopTime: {
week: {
min: 0,
max: 52,
unit_of_measurement: 'week',
mult: 1,
entity_type: 'sensor',
name: 'week',
role: 'value'
},
sec: {
min: 0,
max: 59,
unit_of_measurement: 's',
mult: 1,
entity_type: 'sensor',
name: 'second',
role: 'value'
},
min: {
min: 0,
max: 59,
unit_of_measurement: 'min',
mult: 1,
entity_type: 'sensor',
name: 'minute',
role: 'value'
},
hour: {
min: 0,
max: 23,
unit_of_measurement: 'hour',
mult: 1,
entity_type: 'sensor',
name: 'hour',
role: 'value'
},
day: {
min: 0,
max: 31,
unit_of_measurement: 'day',
mult: 1,
entity_type: 'sensor',
name: 'day',
role: 'value'
},
month: {
min: 0,
max: 12,
unit_of_measurement: 'month',
mult: 1,
entity_type: 'sensor',
name: 'month',
role: 'value'
},
year: {
min: 0,
max: 2050,
unit_of_measurement: 'year',
mult: 1,
entity_type: 'sensor',
name: 'year',
role: 'value'
}
},
type: {
entity_type: 'text',
entity_category: 'diagnostic',
name: 'Task type',
role: 'info',
type: {
1: 'prioritize power supply',
2: 'prioritize power storage',
3: 'plug switch off',
4: 'plug switch on'
}
}
}
}
}
};
const deviceStatesDict = {
pstream: {
inverter_heartbeat: {
pv1InputVolt: { entity: 'number' },
pv1OpVolt: { entity: 'number' },
pv1InputCur: { entity: 'number' },
pv1InputWatts: { entity: 'number' },
pv1Temp: { entity: 'number' },
pv2InputVolt: { entity: 'number' },
pv2OpVolt: { entity: 'number' },
pv2InputCur: { entity: 'number' },
pv2InputWatts: { entity: 'number' },
pv2Temp: { entity: 'number' },
batInputVolt: { entity: 'number' },
batOpVolt: { entity: 'number' },
batInputCur: { entity: 'number' },
batInputWatts: { entity: 'number' },
batTemp: { entity: 'number' },
batSoc: { entity: 'number' },
llcInputVolt: { entity: 'number' },
llcOpVolt: { entity: 'number' },
llcTemp: { entity: 'number' },
invInputVolt: { entity: 'number' },
invOpVolt: { entity: 'number' },
invOutputCur: { entity: 'number' },
invOutputWatts: { entity: 'number' },
invTemp: { entity: 'number' },
invFreq: { entity: 'number' },
invDcCur: { entity: 'number' },
permanentWatts: { entity: 'level' },
ratedPower: { entity: 'level' },
heartbeatFrequency: { entity: 'number' },
dynamicWatts: { entity: 'number' },
lowerLimit: { entity: 'level' },
upperLimit: { entity: 'level' },
invBrightness: { entity: 'level' },
supplyPriority: { entity: 'switch' },
invErrCode: { entity: 'diagnostic' },
invWarnCode: { entity: 'diagnostic' },
pv1ErrCode: { entity: 'diagnostic' },
pv1WarnCode: { entity: 'diagnostic' },
pv2ErrCode: { entity: 'diagnostic' },
pv2WarningCode: { entity: 'diagnostic' },
batErrCode: { entity: 'diagnostic' },
bpType: { entity: 'diagnostic' },
batWarningCode: { entity: 'diagnostic' },
llcErrCode: { entity: 'diagnostic' },
llcWarningCode: { entity: 'diagnostic' },
wirelessErrCode: { entity: 'diagnostic' },
wirelessWarnCode: { entity: 'diagnostic' },
pv1Status: { entity: 'diagnostic' },
pv2Status: { entity: 'diagnostic' },
batStatus: { entity: 'diagnostic' },
llcStatus: { entity: 'diagnostic' },
invStatus: { entity: 'diagnostic' },
invRelayStatus: { entity: 'diagnostic' },
pv1RelayStatus: { entity: 'diagnostic' },
pv2RelayStatus: { entity: 'diagnostic' },
installCountry: { entity: 'string' },
installTown: { entity: 'string' },
invOnOff: { entity: 'diagnostic' },
batChargingTime: { entity: 'number' },
batDischargingTime: { entity: 'number' },
feedPriority: { entity: 'switch' },
pvToInvWatts: { entity: 'number' },
gridConsWatts: { entity: 'number' },
plugTotalWatts: { entity: 'number' },
invToPlugWatts: { entity: 'number' },
spaceDemandWatts: { entity: 'number' },
invDemandWatts: { entity: 'number' },
interfaceConnFlag: { entity: 'string' },
pv1CtrlMpptOffFlag: { entity: 'string' },
pv2CtrlMpptOffFlag: { entity: 'string' },
batOffFlag: { entity: 'string' },
llcOffFlag: { entity: 'string' },
acOffFlag: { entity: 'string' },
bmsReqChgVol: { entity: 'number' },
bmsReqChgAmp: { entity: 'number' },
uwloadLimitFlag: { entity: 'string' },
invLoadLimitFlag: { entity: 'string' },
batLoadLimitFlag: { entity: 'string' },
antiBackFlowFlag: { entity: 'string' },
uwsocFlag: { entity: 'string' },
uwlowLightFlag: { entity: 'string' },
invToOtherWatts: { entity: 'number' },
wifiRssi: { entity: 'number' },
batSystem: { entity: 'string' },
floadLimitOut: { entity: 'number' },
invOutputLoadLimit: { entity: 'number' },
batOutputLoadLimit: { entity: 'number' },
pvPowerLimitAcPower: { entity: 'number' },
batErrorInvLoadLimit: { entity: 'number' },
resetReason: { entity: 'string' },
resetCount: { entity: 'string' },
meshId: { entity: 'string' },
meshLayel: { entity: 'string' },
selfMac: { entity: 'string' },
parentMac: { entity: 'string' },
staIpAddr: { entity: 'string' },
geneNum: { entity: 'number' },
consNum: { entity: 'number' },
geneWatt: { entity: 'number' },
consWatt: { entity: 'number' },
wifiErr: { entity: 'string' },
wifiErrTime: { entity: 'string' },
mqttErr: { entity: 'string' },
mqttErrTime: { entity: 'string' },
stackFree: { entity: 'string' },
stackMinFree: { entity: 'string' },
mqttTlsLastErr: { entity: 'string' },
mqttTlsStackErr: { entity: 'string' },
mqttSockErrno: { entity: 'string' },
acSetWatts: { entity: 'number' },
mqttLastDisReason: { entity: 'string' },
mqttConnectReturnCode: { entity: 'string' },
wifiFirmwareVersion: { entity: 'string' },
wifiConnectChannel: { entity: 'string' },
wifiEncryptMode: { entity: 'string' },
fisoRxyz: { entity: 'number' },
historyPvToInvWatts: { entity: 'number' },
historyBatInputWatts: { entity: 'number' },
historyInvOutputWatts: { entity: 'number' },
historyGridConsWatts: { entity: 'number' },
historyPlugTotalWatts: { entity: 'number' },
historyInvToPlugWatts: { entity: 'number' },
historyPermanentWatts: { entity: 'number' },
espTempsensor: { entity: 'number' },
noiseFloor: { entity: 'string' },
rssiThreshold: { entity: 'string' },
rssiVariance: { entity: 'string' }
},
/*
InverterHeartbeat2: {
pv1Active_1: { entity: 'string' },
pv1Status_2: { entity: 'string' },
pv2Active_3: { entity: 'string' },
pv2Status_4: { entity: 'string' },
X_Unknown_5: { entity: 'string' },
status_6: { entity: 'string' },
upperLimit: { entity: 'number' },
lowerLimit: { entity: 'number' },
status_9: { entity: 'string' },
status_10: { entity: 'string' },
X_Unknown_11: { entity: 'string' },
baseLoad: { entity: 'number' },
powerPlugsPos: { entity: 'number' }, // Smartplug Verbrauch (positiver Wert) ?
X_Unknown_14: { entity: 'string' },
X_Unknown_15: { entity: 'number' },
X_Unknown_16: { entity: 'string' },
X_Unknown_17: { entity: 'number' },
X_Unknown_18: { entity: 'string' },
X_Unknown_19: { entity: 'string' },
X_Unknown_20: { entity: 'string' },
X_Unknown_21: { entity: 'string' },
X_Unknown_22: { entity: 'string' },
X_Unknown_23: { entity: 'string' },
X_Unknown_24: { entity: 'string' },
X_Unknown_25: { entity: 'string' },
X_Unknown_26: { entity: 'string' },
X_Unknown_27: { entity: 'string' },
X_Unknown_28: { entity: 'string' },
X_Unknown_29: { entity: 'string' },
X_Unknown_30: { entity: 'string' },
X_Unknown_31: { entity: 'string' },
uptime: { entity: 'number' },
X_Unknown_33: { entity: 'string' },
X_Unknown_34: { entity: 'number' },
X_Unknown_35: { entity: 'string' },
X_Unknown_36: { entity: 'string' }, // Powerstream X_Unknown_36 und Plug .plug_heartbeat.unknown23 haben den identischen Wert
X_Unknown_37: { entity: 'string' },
X_Unknown_38: { entity: 'string' },
X_Unknown_39: { entity: 'string' },
X_Unknown_40: { entity: 'string' },
X_Unknown_41: { entity: 'string' },
X_Unknown_42: { entity: 'string' },
X_Unknown_43: { entity: 'string' },
plugsConn_44: { entity: 'string' }, //plugs for dynWatt available
gridWatt_45: { entity: 'number' },
powerPlugsNeg: { entity: 'number' }, // Smartplug Verbrauch (negativer Wert) ?
X_Unknown_47: { entity: 'string' },
unixtime_48: { entity: 'string' },
X_Unknown_49: { entity: 'string' },
unixtime_50: { entity: 'string' },
X_Unknown_51: { entity: 'string' },
wifiRssi: { entity: 'number' }
},
*/
energy: {
watth1: { entity: 'number' },
watth2: { entity: 'number' },
watth3: { entity: 'number' },
watth4: { entity: 'number' },
watth7: { entity: 'number' },
watth8: { entity: 'number' },
watth16: { entity: 'number' },
watth17: { entity: 'number' },
watth18: { entity: 'number' }
},
action: {
latestQuotas: { entity: 'switch' }
},
info: {
status: { entity: 'diagnostic' }
}
}
};
const deviceRanges = {
pstream600: {
inverter_heartbeat: {
level: {
ratedPower: { max: 600 },
permanentWatts: { max: 600 }
}
}
},
pstream800: {
inverter_heartbeat: {
level: {
ratedPower: { max: 800 }
}
}
}
};
const deviceCmd = {
pstream: {
inverter_heartbeat: {
permanentWatts: { mult: 10, msg: { cmdFunc: 20, cmdId: 129, dataLen: 3 } },
ratedPower: { mult: 1, msg: { cmdFunc: 20, cmdId: 146, dataLen: 3 } },
invBrightness: {
mult: 10,
msg: { cmdFunc: 20, cmdId: 135, dataLen: 3 }
},
lowerLimit: {
mult: 1,
msg: { cmdFunc: 20, cmdId: 132, dataLen: 2 }
},
supplyPriority: {
msg: { cmdFunc: 20, cmdId: 130, dataLen: 2 }
},
upperLimit: {
mult: 1,
msg: { cmdFunc: 20, cmdId: 133, dataLen: 2 }
},
feedPriority: {
msg: { cmdFunc: 20, cmdId: 143, dataLen: 2 }
}
},
action: {
// {"src":32,"dest":32,"seq":1747550672,"from":"ios"}
latestQuotas: { msg: { cmdFunc: 20, cmdId: 1, dataLen: 0 } }
}
},
pstream600: {
inverter_heartbeat: {
permanentWatts: { mult: 10, msg: { cmdFunc: 20, cmdId: 129, dataLen: 3 } },
ratedPower: { mult: 10, msg: { cmdFunc: 20, cmdId: 146, dataLen: 3 } },
invBrightness: {
mult: 10,
msg: { cmdFunc: 20, cmdId: 135, dataLen: 3 }
},
lowerLimit: {
mult: 1,
msg: { cmdFunc: 20, cmdId: 132, dataLen: 2 }
},
supplyPriority: {
msg: { cmdFunc: 20, cmdId: 130, dataLen: 2 }
},
upperLimit: {
mult: 1,
msg: { cmdFunc: 20, cmdId: 133, dataLen: 2 }
},
feedPriority: {
msg: { cmdFunc: 20, cmdId: 143, dataLen: 2 }
}
},
action: {
latestQuotas: { msg: { cmdFunc: 20, cmdId: 1, dataLen: 0 } }
}
},
pstream800: {
inverter_heartbeat: {
permanentWatts: { mult: 10, msg: { cmdFunc: 20, cmdId: 129, dataLen: 3 } },
ratedPower: { mult: 10, msg: { cmdFunc: 20, cmdId: 146, dataLen: 3 } },
invBrightness: {
mult: 10,
msg: { cmdFunc: 20, cmdId: 135, dataLen: 3 }
},
lowerLimit: {
mult: 1,
msg: { cmdFunc: 20, cmdId: 132, dataLen: 2 }
},
supplyPriority: {
msg: { cmdFunc: 20, cmdId: 130, dataLen: 2 }
},
upperLimit: {
mult: 1,
msg: { cmdFunc: 20, cmdId: 133, dataLen: 2 }
},
feedPriority: {
msg: { cmdFunc: 20, cmdId: 143, dataLen: 2 }
}
},
action: {
latestQuotas: { msg: { cmdFunc: 20, cmdId: 1, dataL