MQTT
MQTT runs TLSv1 on port 2001.
The stock firmware uses username authentication but that's not required for our own servers.
The device publishes to /appliance/<device uuid>/publish
and subscribes to /appliance/<device uuid>/subscribe
topics. Further information can be gained by looking through the source code of https://github.com/albertogeniola/MerossIot/blob/master/meross_iot/supported_devices/power_plugs.py
Using Mosquitto, this minimal config sets up the server allowing the device to connect
port 8883
require_certificate false
use_identity_as_username false
capath /usr/local/etc/mosquitto
# replace with your CA Root and server certificate and key paths
cafile /usr/local/etc/mosquitto/mqtt_ca.pem
certfile /usr/local/etc/mosquitto/mqtt_server.crt
keyfile /usr/local/etc/mosquitto/mqtt_server.key
Make sue that your CA Root uses a different Common Name to your server and the common name for the server is the server IP address
Put the device into pairing mode (Yellow/Green alternating) and connect to it's AP.
From the bin/src/
directory in the project run ./meross info --gateway 10.0.0.1
where 10.0.0.1
is the ip address Meross device. This will spit out some data. The from field is the MQTT topic you'll need to subscribe to in order to get information from the device later.
Next run ./meross setup --gateway 10.10.10.1 --wifi-ssid myssid --wifi-pass mypass --mqtt 192.168.0.2:8883
where 10.0.0.1
is the IP address of the Meross device, myssid
and mypass
are the wifi credentials you'd like the device to connect to and 192.168.0.2:8883
is the MQTT server url in the form of hostname:port, you can repeat the --mqtt
flag, but only the first 2 server will be configured on the device.
With any luck the device will turn off, flash green and you should see the light become solid and a successful connection in your Mosquitto logs.
mosquitto_sub -h 192.168.0.2 -p 8883 -t "/appliance/<device uuid>/publish" --cafile /usr/local/etc/mosquitto/mqtt_ca.crt