This project has been abandoned and all current and future development has moved here.
Homebridge implementation of the Meross MSS110 mini-plug with initial support for the Meross MSS425 Surge Protector.
This is a pet project. I can't promise it'll work for you. If it does, that's awesome! It may also break. I am using this in "production" at my house, so any fixes I make for my setup will be published.
PRs welcome!
Assuming you have a working Homebridge setup, this is how you add the Meross plug-in:
npm i -g homebridge-meross-plug
(You may needsudo
depending on your homebridge setup)- Edit your
config.json
to include the plugname
,deviceUrl
,hardwareVersion
,channel
,messageId
,timestamp
, &sign
.
If you're setting this plug up fresh, make sure you go through the typical Meross app for initial setup.
You will also have to obtain some information that the Meross mobile app uses in its HTTP request headers. The Charles proxy application can be used to sniff the network requests sent from the iOS app. A detailed tutorial on how to set up Charles with your iOS device can be found here.
There are currently
two
hardware versions of the MSS110 plug.
There are some differences in requests sent between hardware
version 1
and
version 2
of the MSS110 plug. Note the brown and black markings.
This is the information needed for your config.json
file.
Also note there is no "channel" attribute for hardware version 1.
You may safely set that to 0 in your config.
- The
name
attribute is how the device name will be displayed in iOS Home app. - The
deviceUrl
is the local address of the specific plug.- Hint: Toggle the plug in the Meross app multiple times to see Charles send requests for that plug.
- The
hardwareVersion
attribute is the first number of the "version" sent in the HTTP request. - The
channel
attribute can be set to 0 unless you are setting up the MSS425 Surge Protector. - The
messageId
,timestamp
, &sign
attributes are unique to you but can be shared between every device in yourconfig.json
file.
{
"accessories": [
{
"accessory": "Meross",
"name": "Bedroom lamp",
"deviceUrl": "http://192.168.1.5",
"hardwareVersion": 1,
"channel": 0,
"messageId": "ea3a20d62868f6c709b6e1b8aeab1ecc",
"timestamp": 1550640748,
"sign": "9430a84459d15a522a8cb91c93f63b45"
},
{
"accessory": "Meross",
"name": "Entertainment center lights",
"deviceUrl": "http://192.168.1.6",
"hardwareVersion": 2,
"channel": 0,
"messageId": "ea3a20d62868f6c709b6e1b8aeab1ecc",
"timestamp": 1550640748,
"sign": "9430a84459d15a522a8cb91c93f63b45"
}
]
}