homebridge-meross
Version:
Homebridge plugin to integrate Meross devices into HomeKit.
378 lines (369 loc) • 7.71 kB
JavaScript
export default {
defaultConfig: {
name: 'Meross',
username: '',
password: '',
mfaCode: '',
showUserKey: false,
userkey: '',
ignoreHKNative: false,
ignoreMatter: false,
connection: 'hybrid',
domain: 'iotx.meross.com',
disableDeviceLogging: false,
cloudRefreshRate: 300,
refreshRate: 5,
singleDevices: [],
multiDevices: [],
lightDevices: [],
fanDevices: [],
diffuserDevices: [],
purifierDevices: [],
humidifierDevices: [],
thermostatDevices: [],
garageDevices: [],
rollerDevices: [],
babyDevices: [],
sensorDevices: [],
platform: 'Meross',
},
defaultValues: {
adaptiveLightingShift: 0,
brightnessStep: 1,
cloudRefreshRate: 0,
connection: 'hybrid',
garageDoorOpeningTime: 20,
inUsePowerThreshold: 0,
lowBattThreshold: 20,
refreshRate: 5,
showAs: 'default',
},
minValues: {
adaptiveLightingShift: -1,
brightnessStep: 1,
cloudRefreshRate: 30,
garageDoorOpeningTime: 1,
inUsePowerThreshold: 0,
lowBattThreshold: 1,
refreshRate: 5,
},
allowed: {
singleDevices: [
'name',
'serialNumber',
'connection',
'deviceUrl',
'ignoreDevice',
'model',
'showAs',
'inUsePowerThreshold',
'temperatureSource',
'firmwareRevision',
'userkey',
],
multiDevices: [
'name',
'serialNumber',
'connection',
'deviceUrl',
'ignoreDevice',
'model',
'showAs',
'hideChannels',
'firmwareRevision',
'userkey',
],
lightDevices: [
'name',
'serialNumber',
'connection',
'deviceUrl',
'ignoreDevice',
'model',
'brightnessStep',
'adaptiveLightingShift',
'firmwareRevision',
'userkey',
],
fanDevices: [
'name',
'serialNumber',
'connection',
'deviceUrl',
'ignoreDevice',
'model',
'firmwareRevision',
'userkey',
],
diffuserDevices: [
'name',
'serialNumber',
'connection',
'deviceUrl',
'ignoreDevice',
'model',
'brightnessStep',
'firmwareRevision',
'userkey',
],
purifierDevices: [
'name',
'serialNumber',
'connection',
'deviceUrl',
'ignoreDevice',
'model',
'firmwareRevision',
'userkey',
],
humidifierDevices: [
'name',
'serialNumber',
'connection',
'deviceUrl',
'ignoreDevice',
'model',
'firmwareRevision',
'userkey',
],
thermostatDevices: [
'name',
'serialNumber',
'connection',
'deviceUrl',
'ignoreDevice',
'model',
'firmwareRevision',
'userkey',
],
garageDevices: [
'name',
'serialNumber',
'connection',
'deviceUrl',
'ignoreDevice',
'model',
'garageDoorOpeningTime',
'hideChannels',
'firmwareRevision',
'userkey',
],
rollerDevices: [
'name',
'serialNumber',
'connection',
'deviceUrl',
'ignoreDevice',
'model',
'reversePolarity',
'showAs',
'firmwareRevision',
'userkey',
],
babyDevices: [
'name',
'serialNumber',
'connection',
'deviceUrl',
'ignoreDevice',
'model',
'firmwareRevision',
'userkey',
],
sensorDevices: [
'name',
'serialNumber',
'ignoreDevice',
'model',
'ignoreSubdevices',
'lowBattThreshold',
],
connection: ['default', 'cloud', 'local'],
showAs: [ // 'switch' and 'blind' are considered as default
'default',
'cooler',
'heater',
'outlet',
'purifier',
'door',
'window',
'power-strip',
],
},
models: {
switchSingle: [
'HP110A',
'MSS105',
'MSS110',
'MSS115',
'MSS1101',
'MSS1102',
'MSS110NR',
'MSS110R',
'MSS110RTL',
'MSS210',
'MSS210N',
'MSS210P',
'MSS210R',
'MSS210RTL',
'MSS305',
'MSS310',
'MSS310H',
'MSS310R',
'MSS310X',
'MSS315',
'MSS510',
'MSS510H',
'MSS510K',
'MSS510M',
'MSS510S',
'MSS510X',
'MSS510XR',
'MSS550',
'MSS550K',
'MSS550L',
'MSS550X',
'MSS5X0',
'MSS710',
'MSS710R',
'MSS810',
],
switchMulti: {
MSP843P: 5,
MSP844: 5,
MSS120: 2,
MSS120B: 2,
MSS120BR: 2,
MSS420: 4,
MSS420F: 4,
MSS425: 4,
MSS425E: 4,
MSS425ER: 4,
MSS425EX: 4,
MSS425F: 5,
MSS425FC: 5,
MSS426: 7,
MSS426F: 5,
MSS426S: 7,
MSS530: 3,
MSS530H: 3,
MSS620: 2,
MSS620B: 2,
MSS620BR: 2,
MSS620R: 2,
MSS620S: 2,
MSS630: 3,
SP425EW: 4, // MSS425E
SP425FW: 4, // MSS425F
},
lightDimmer: [
'MPD100',
'MSL100',
'MSL100D',
'MSL100R',
'MSS560',
'MSS560M',
'MSS560X',
'MSS565',
'MSS565X',
'MSS570',
'MSS570M',
'MSS570X',
],
lightRGB: [
'MSL120',
'MSL120B',
'MSL120D',
'MSL120DA',
'MSL120DBR',
'MSL120DR',
'MSL120J',
'MSL120M',
'MSL320',
'MSL320C',
'MSL320CP',
'MSL320CPR',
'MSL320CR',
'MSL320M',
'MSL420',
'MSL430',
'MSL450',
],
lightCCT: ['MDL110', 'MDL110M', 'MSL210', 'MSL610'],
fan: ['MFC100'],
diffuser: ['MOD100', 'MOD150'],
purifier: ['MAP100'],
humidifier: ['MSXH0'],
garage: ['MSG100', 'MSG200'],
roller: ['MRS100'],
baby: ['HP110A', 'HP110AHK'],
thermostat: ['MTS200', 'MTS200B', 'MTS960'],
sensorPresence: ['MS600'],
hubMain: ['MSH300', 'MSH300HK', 'MSH400'],
hubSub: ['GS559A', 'MS100', 'MS100F', 'MS200', 'MS400', 'MTS100V3', 'MTS150'],
template: [],
},
hkNativeHardware: {
MAP100: ['7'],
MDL110: ['4'],
MDL110M: ['4'],
MFC100: ['7'],
MOD100: ['4'],
MOD150: ['4'],
MOD100HK: ['4'],
MRS100: ['7'],
MSG100: ['4'],
MSG200: ['4'],
MSL100D: ['4'],
MSL100R: ['4'],
MSL120D: ['4', '7'],
MSL120DA: ['7'],
MSL120DBR: ['4'],
MSL120DR: ['4'],
MSL320C: ['4'],
MSL320CP: ['4'],
MSL320CPR: ['4'],
MSL320CR: ['4'],
MSL420: ['4'],
MSL430: ['4'],
MSL450: ['7'],
MSL610: ['4'],
MSS110: ['4', '7'],
MSS110NR: ['4'],
MSS110R: ['4'],
MSS120B: ['4'],
MSS120BR: ['4'],
MSS210: ['4', '7'],
MSS210P: ['7'],
MSS210RTL: ['4'],
MSS425E: ['4'],
MSS425ER: ['4'],
MSS425F: ['4'],
MSS425FC: ['7'],
MSS510: ['4'],
MSS510X: ['4'],
MSS510XR: ['4'],
MSS550X: ['4'],
MSS560X: ['4'],
MSS570X: ['4'],
MSS620: ['4', '7'],
MSS620R: ['4'],
MSS620BR: ['4'],
MSS630: ['4'],
MSS710: ['4'],
MSS710R: ['4'],
MSS810: ['7'],
MTS200: ['7'],
MTS200B: ['7'],
SP425EW: ['4'], // MSS425E
MSH300HK: ['4', '5'],
},
matterHardware: {
MS600: ['9'], // https://github.com/homebridge-plugins/homebridge-meross/issues/582
MSP844: ['5', '9'], // https://github.com/homebridge-plugins/homebridge-meross/issues/578, https://github.com/homebridge-plugins/homebridge-meross/issues/585
MSS115: ['9'], // https://github.com/homebridge-plugins/homebridge-meross/issues/549
MSS315: ['9'], // https://github.com/homebridge-plugins/homebridge-meross/issues/537
},
noLocalControl: ['MSH300', 'MSH300HK', 'MSH400'],
httpRetryCodes: ['ENOTFOUND', 'ETIMEDOUT', 'EAI_AGAIN', 'ECONNABORTED'],
}