Coder Social home page Coder Social logo

albertogeniola / custom-meross-pairer Goto Github PK

View Code? Open in Web Editor NEW
61.0 5.0 5.0 5.3 MB

Android APP that allows pairing Meross Devices with third party MQTT brokers

License: GNU General Public License v2.0

Java 100.00%
mqtt home-assistant meross meross-cloud meross-lan

custom-meross-pairer's People

Contributors

albertogeniola avatar edwardbetts avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

custom-meross-pairer's Issues

iphone user

hey there - i would really like to pair my meross plugs to my local meross instance - but i cant seem to find a solution for pairing when using an iphone. i noticed the plug comes with a minimal webui available on 10.10.10.1 in the ad-hoc network it spawns when pairing - any chance to get it to join my local network without using the official app or needing an android phone?

Problem with home assistant login

I'm using the home assistant docker container with the mosquitto docker container as the MQTT broker.

I installed the Meross LAN integration through HACS. In the README.md file of this integration it says that this app can be used to bind the devices with our private MQTT broker to avoid using Meross cloud to use the device.

The problem I found is that regardless if I put the address of the Home Assistant container (and the credentials of Home Assistant) or the address of the mosquitto container (and the credentials of the mosquitto broker) it always displays a toast with the "No local HTTP service found".

What am I supposed to write in that field?

App crashes on MQTT discovery phase

Hello there!

I used the application previously and it wasn't very stable but I managed to have the job done retrying several time with completely closing the app and clearing the cache, but now, even the login phase crashes the application (during the MQTT discovery).

What I tried was to uninstall the official app on Google Play, download the latest APK from here (latest release), install that on my phone, and at least now I can login by entering manually my MQTT broker information, BUT when I try to pair one of my switches, it scans again looking for some MQTT brokers, and guess what, it crashes. I tried killing the app entirely and clearing the cache, but nothing works.

Would you have any suggestion?

Thank you so much!

PreRelease dev-491917321 does not see the Meross device SSID

In order to test it, I installed PreRelease dev-491917321 and it does not see the Meross device SSID at all. It is visible (MEROSS_SW_XXXX) in the WiFi access points list.

No error is displayed, the app starts and no AP appears (I tried to reload it of course, several times)

The previous version (the first one released) worked fine.

Samsung Galaxy 9+, Android 10 (same config as with the previous (first) app version)

Sign release APK?

Currently, at releases there's an unsigned APK attached. While advanced users and developers surely can sign themselves, average users can't. Would you mind attaching a signed APK?

Besides, what licence is protecting the app? Your repo or the code do not say, so currently it's "all rights reserved" โ€“ which is a legally uncertain situation for potential contributors as well as for those wanting to re-use code from your app โ€“ and also for those who want to share your app with friends ๐Ÿ˜‰

Wi-Fi password wrongly saved on app

Hi,

Thank you for your app, it males things easier :)

But a have a small issue.

Context:
I have a mosquitto MQTT Broker on my local network.
I can successfuly pair my MSS310 socket to my local MQTT Broker, thanks to your app. During the pairing process, I checked the "Save for future use" checkboxes for the Wi-Fi password and the MQTT broker informations.

But, if I try to pair a second Meross device, the Wi-Fi password appears to be wrongly saved, and the pairing process failed (the Meross device can't find the Wi-Fi AP, as it doesn't have the right passphrase).

I put as an attachment a screenshot showing the "erronous" Wi-Fi password saved by the app.
Screenshot_20220114-142749_Custom Pairer

It looks like to be a (little) bug...

Best regards,

Lechercheur123

Android 5: App does not raise softkeys for input

Had an old Phone around with Android 5.0.2. Using the Manual API Setup, I'm unable to enter anything into User ID or User Key because the keyboard does not come up when I type into the fields.

For the input fields in the other dialogs (HA Login / Meross Broker) the keyboard comes up as expected.

MQTT User name

Hello! Does this config allow you to use a custom username when logging into the MQTT host? A result of the other pairing tools I've seen keep the username as the mac address. This causes issues with login as HA MQTT 6.0 has a bug where it does not accept special characters in the username.

Meross strip mss425f does not try to reach the MQTT broker

I just tried the latest version (PreRelease dev-491917321) on a new strip I just received.

Unfortunately, the strip does not try to connect to the MQTT broker at all. It works fine with the Meross utility.

This is a mss425f ver 4.0.0, chip MT7686, FW 4.1.6.

It is correctly configured, connects to the WiFi (and gets 192.168.10.97) and does not try to connect to the broker.

When forcing a reconnect on my AP, it sends multicast messages and for a reason I ignore, desperately tries to get info about the IP 192.168.10.72 (the network is mine (192.168.10.0/24), the IP does not exist)

16:02:57.950199 ARP, Request who-has 192.168.10.97 tell 192.168.10.97, length 46
16:02:57.950199 ARP, Request who-has 192.168.10.97 tell 192.168.10.97, length 46
16:02:57.986535 IP 192.168.10.97 > 224.0.0.2: igmp leave 224.0.0.251
16:02:57.986535 IP 192.168.10.97 > 224.0.0.2: igmp leave 224.0.0.251
16:02:58.487409 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0 [1n] ANY (QU)? mt7687.local. (46)
16:02:58.487409 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0 [1n] ANY (QU)? mt7687.local. (46)
16:02:58.557764 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0 [1n] ANY (QU)? MSS425F-8967._hap._tcp.local. (73)
16:02:58.557764 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0 [1n] ANY (QU)? MSS425F-8967._hap._tcp.local. (73)
16:02:58.813136 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0 [1n] ANY (QM)? MSS425F-8967._hap._tcp.local. (73)
16:02:58.813136 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0 [1n] ANY (QM)? MSS425F-8967._hap._tcp.local. (73)
16:02:59.058851 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0 [1n] ANY (QM)? MSS425F-8967._hap._tcp.local. (73)
16:02:59.058851 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0 [1n] ANY (QM)? MSS425F-8967._hap._tcp.local. (73)
16:02:59.208062 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/2 (Cache flush) PTR mt7687.local., (Cache flush) A 192.168.10.97 (115)
16:02:59.208062 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0*- [0q] 2/0/2 (Cache flush) PTR mt7687.local., (Cache flush) A 192.168.10.97 (115)
16:02:59.310425 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0*- [0q] 4/0/1 (Cache flush) TXT "c#=1" "ff=2" "id=50:17:CA:7D:2A:56" "md=MSS425F" "pv=1.1" "s#=1" "sf=1" "ci=7" "sh=Nn4N/g==", PTR _hap._tcp.local., PTR MSS425F-8967._hap._tcp.local., (Cache flush) SRV mt7687.local.:5010 0 0 (227)
16:02:59.310425 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0*- [0q] 4/0/1 (Cache flush) TXT "c#=1" "ff=2" "id=50:17:CA:7D:2A:56" "md=MSS425F" "pv=1.1" "s#=1" "sf=1" "ci=7" "sh=Nn4N/g==", PTR _hap._tcp.local., PTR MSS425F-8967._hap._tcp.local., (Cache flush) SRV mt7687.local.:5010 0 0 (227)
16:03:00.210991 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0*- [0q] 6/0/3 (Cache flush) TXT "c#=1" "ff=2" "id=50:17:CA:7D:2A:56" "md=MSS425F" "pv=1.1" "s#=1" "sf=1" "ci=7" "sh=Nn4N/g==", PTR _hap._tcp.local., PTR MSS425F-8967._hap._tcp.local., (Cache flush) SRV mt7687.local.:5010 0 0, (Cache flush) PTR mt7687.local., (Cache flush) A 192.168.10.97 (318)
16:03:00.210991 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0*- [0q] 6/0/3 (Cache flush) TXT "c#=1" "ff=2" "id=50:17:CA:7D:2A:56" "md=MSS425F" "pv=1.1" "s#=1" "sf=1" "ci=7" "sh=Nn4N/g==", PTR _hap._tcp.local., PTR MSS425F-8967._hap._tcp.local., (Cache flush) SRV mt7687.local.:5010 0 0, (Cache flush) PTR mt7687.local., (Cache flush) A 192.168.10.97 (318)
16:03:02.211209 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0*- [0q] 6/0/3 (Cache flush) TXT "c#=1" "ff=2" "id=50:17:CA:7D:2A:56" "md=MSS425F" "pv=1.1" "s#=1" "sf=1" "ci=7" "sh=Nn4N/g==", PTR _hap._tcp.local., PTR MSS425F-8967._hap._tcp.local., (Cache flush) SRV mt7687.local.:5010 0 0, (Cache flush) PTR mt7687.local., (Cache flush) A 192.168.10.97 (318)
16:03:02.211209 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0*- [0q] 6/0/3 (Cache flush) TXT "c#=1" "ff=2" "id=50:17:CA:7D:2A:56" "md=MSS425F" "pv=1.1" "s#=1" "sf=1" "ci=7" "sh=Nn4N/g==", PTR _hap._tcp.local., PTR MSS425F-8967._hap._tcp.local., (Cache flush) SRV mt7687.local.:5010 0 0, (Cache flush) PTR mt7687.local., (Cache flush) A 192.168.10.97 (318)
16:03:06.246613 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0*- [0q] 6/0/3 (Cache flush) TXT "c#=1" "ff=2" "id=50:17:CA:7D:2A:56" "md=MSS425F" "pv=1.1" "s#=1" "sf=1" "ci=7" "sh=Nn4N/g==", PTR _hap._tcp.local., PTR MSS425F-8967._hap._tcp.local., (Cache flush) SRV mt7687.local.:5010 0 0, (Cache flush) PTR mt7687.local., (Cache flush) A 192.168.10.97 (318)
16:03:06.246613 IP 192.168.10.97.5353 > 224.0.0.251.5353: 0*- [0q] 6/0/3 (Cache flush) TXT "c#=1" "ff=2" "id=50:17:CA:7D:2A:56" "md=MSS425F" "pv=1.1" "s#=1" "sf=1" "ci=7" "sh=Nn4N/g==", PTR _hap._tcp.local., PTR MSS425F-8967._hap._tcp.local., (Cache flush) SRV mt7687.local.:5010 0 0, (Cache flush) PTR mt7687.local., (Cache flush) A 192.168.10.97 (318)
16:11:22.782673 ARP, Request who-has 192.168.10.72 tell 192.168.10.97, length 46
16:11:22.782673 ARP, Request who-has 192.168.10.72 tell 192.168.10.97, length 46
16:26:40.212840 IP 192.168.10.72.26590 > 192.168.10.97.80: Flags [S], seq 2447270603, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
16:26:40.466561 IP 192.168.10.72.26591 > 192.168.10.97.80: Flags [S], seq 1920900150, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
16:26:43.216655 IP 192.168.10.72.26590 > 192.168.10.97.80: Flags [S], seq 2447270603, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
16:26:43.481077 IP 192.168.10.72.26591 > 192.168.10.97.80: Flags [S], seq 1920900150, win 64240, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
16:26:44.940737 ARP, Request who-has 192.168.10.97 (48:e1:e9:2e:89:67) tell 192.168.10.72, length 46
16:26:45.949048 ARP, Request who-has 192.168.10.97 (48:e1:e9:2e:89:67) tell 192.168.10.72, length 46
16:26:46.947005 ARP, Request who-has 192.168.10.97 (48:e1:e9:2e:89:67) tell 192.168.10.72, length 46
16:26:49.217066 ARP, Request who-has 192.168.10.97 tell 192.168.10.72, length 46
16:26:49.217066 ARP, Request who-has 192.168.10.97 tell 192.168.10.72, length 46
16:26:49.949314 ARP, Request who-has 192.168.10.97 tell 192.168.10.72, length 46
16:26:49.949314 ARP, Request who-has 192.168.10.97 tell 192.168.10.72, length 46

I do not think that this is a problem with meross_pair, the behaviour with spiderweb's utility is the same. It may mean that Meross changed something in their firmware and the way it connects.

(for the record, output from spiderweb's app):

Setting up device with IP 10.10.10.1
Setting MQTT servers [ { host: '192.168.10.2', port: '8883' } ]
sending payload { header:
   { method: 'SET',
     namespace: 'Appliance.Config.Key',
     messageId: 'd48320fa6f9e52cef208cd3239eef727',
     timestamp: 1611412706,
     sign: '3cf8adfe613b4a57fbd2ca7286f716d7' },
  payload:
   { key:
      { gateway: { host: '192.168.10.2', port: '8883' },
        key: '',
        userId: '' } } }
sending payload { header:
   { method: 'SET',
     namespace: 'Appliance.Config.Wifi',
     messageId: 'd75067a84748245ef10a280e45a6b504',
     timestamp: 1611412707,
     sign: 'c631942f09800719033b520379c40eeb' },
  payload:
   { wifi:
      { ssid: 'VzI=',
        password: 'bREDACTEDz' } } }
Got response: { header:
   { messageId: 'd75067a84748245ef10a280e45a6b504',
     namespace: 'Appliance.Config.Wifi',
     method: 'SETACK',
     payloadVersion: 1,
     from: '/appliance/2008272372203290827148e1e92e8967/publish',
     timestamp: 84,
     timestampMs: 111,
     sign: '72d054e75bbe6a814f3ee1dc268b3129' },
  payload: {} }

Question about MQTT server

Hi,
First: Congrats for your work !

I've tried to pair MSS310 plug to my MQTT broker (https://github.com/home-assistant/addons/tree/master/mosquitto). The broker works fine, I'm using it for my DIY energy meter and other things.
I'm using config like this :

logins:
  - username: mqtt
    password: imasuperpassword
customize:
  active: false
  folder: mosquitto
certfile: fullchain.pem
keyfile: privkey.pem
require_certificate: false
anonymous: true

When I try to pair on port 8883, all the time the power plug still flashing and no push to mqtt but Wifi is ok for a short time (see in log from the router).
Something with the username / password ?

I've tried to connect to the broker using MQTT-Explorer :

  • When I set username and password, works flawlessly
  • When I don't set username and password, works one in five
    So I think it's the same for MSS310 with no passing any credential. Its seems that user is the mac adress and password a mix with md5 of mac and other things ?
    Or simply, the mqtt broker addon have issue with anonymous connection and I have to install another one ? (yeah, I see you're in development of addon to deal with that, but I'm a hard tryer :) )

If you have any idea, thank you

Local API Login Setup

I've got an MQTT broker running (The Home Assistant Add-on) and it runs perfectly, I'm using it for sensors and all sorts. I recently git a good deal on some Meross Smart Plugs with monitoring (MSS310) and wanted to set them up with the meross_lan HACS Integration to control them locally. I've installed the HACS Integration and restated HA. Then I downloaded the Pairer Beta app from the play store and I'm stuck. Its asking for the Local API Login, I pressed discovery, nothing, HA Ip, nothing, Ha Hostname, Nothing. I'm a little confused. Do I need a differnt broker or?

unable to install Samsung S10+

Hi Alberto,

Been very keenly watching your work. I'm having issues with the meross pairer that it simply won't install.

I'm on a Samsung S10+ running Android 11.
I have enabled the ability to install unknown APK and have been doing this through Samsung's own file manager. I've tried to install the previous version and this current release.

Interestingly I do have your meross conf APK installed and that is working fine.

MSH300HK Hub and Valve Support

Hello,

I would like to setup my meross smarthub to comunicate to my domestic mqtt broker, but I have a question.

I have the hub MSH300HK where the thermovalves are connected to.

If I configure the smarthub to connect to my brocker, how I can connect the valves to the hub?

Is this scenario tested?

Mqtt server ports

I have been attempting to pair meross ms426 surge protectors. My mosquitto mqtt has been up and working on my home assistant server for some time now. I have attached an image of my HA setup mosquitto config.

I expected to attach to port 8883 in the pairer but the search is finding a port 2001 available. If I set up an 8883 in the pairer, it does not pair successfully. The found 2001 does pair but then lost as how to proceed as this does not relate to my HA config. Images attached of found mqtt port and my manual set up. Any ideas?
SmartSelect_20230305_141457_Home Assistant
SmartSelect_20230305_141556_Home Assistant
SmartSelect_20230305_141626_Custom Pairer
SmartSelect_20230305_142728_Custom Pairer

not an issue ..

Hi Alberto,
I have many MSS710 switch to command but as it is in local network i cannot connect to internet, is there a protocol out there that allows to command switches directly sending command to the device IP using pre-configured packet ?
I also notice console Rx/Tx/G pin on those devices can i use it to setup wifi ssid/passwd and ip. I want simple stuff not going out of the lab network.
B.R.
NS PP

app seems not work

  1. i reset my device (meross 210)
  2. choose pair new device in the app
  3. the app find the device
  4. at the end of the paring process i get some device information
    (among the others :chip rtl8710cm , version 7.0.0 )
  5. i choose configure this device
    1. i select my ssid wifi name
    2. the wifi password field contains very long string
      "com.google.android.material.textfiled.....)
      i just erase it and write into my wifi password (i don't press CR)
    3. i check "use for future use"
    4. i press validate and proceed
      1. i get "connect to wifi...." and after a while : wifi validation
        error doble che credential....

i'm sure about my credentials (I use them to connect my phone to my wifi!)

any hints ?

i'm using a google pixel 6a,
the meroos work well with the meross app.

regards
luca

Error while Fetching device info

Hi,
Promising app except it doesn't work for me...
It detects the ssid but after that errors out when trying to get device info.

App not installed as package appears to be invaild.

Hi,
I'm pretty excited about the App,but unfortunately I'm getting the error in the subject line when I try to run the .apk.
I'm running Android 13 on a Nexus 5.
Any help would be much appreciated.
Thanks,
Markus

MDL110M with custom broker

I'm trying to pair the above lamp, the idea is to use my mosquitto installation that already drives most of my devices (zigbee2mqtt hvacs and shellys) but i'm puzzled by the application use, if I go for manual API setup it asks me for User ID and key, I set them, it discovers the lamp AP, tries to configure but it just does nothing then, not even pairing to wifi

and there is nothing I can change to input my current mqtt address, any hint on this?
or I should simply give up and use homekit (which is fine but needs an ios device to pair the device to wifi)

What is the Local API broker?

Hi,

Can someone please help me with what is expected in the Meross Pairer App?
I currently have Home Assistant running in a container on a linux machine. I also have a seperate MQTT Broker running on the same machine which is integrated with Home Assistant via the Home Assistant MQTT.

What is the 'HTTP server hostname"? I have Home Assistant running as accessable over the ip address 192.168.x.x. I put that IP address in, but that fails. I've tried googleing what a Local API broker is as mentions in the App, buy I just get references to MQTT brokers. Which in my case is the same IP address anyway, so it still doesn't work.

Then there's the Username / email and Password. I had assumed it was the login for the Home Assistant, but as the first part isn't working I can't be sure.

Any help would be much appreciated.

Thanks and regards,

Markus

Device Key ?

Hi, my Meross_Lan integration find automatically the freshly paired Meross devices, but I can't find the Device_Key ? Is there a way to find it ?

I tried to use your plugin and set to a "custom" broker, but it won't connect to Local Meross Broker, hence why I'm asking if there's a way to retrieve device_key,

Thanks

No Pairing: Scan failed wifi networks

Hi Alberto!

I'm italian and i trying to pair some MSS305 Smart Plug.

I follow all the setup, now i'm at the moment of pairing device.

I've installed the app on 3 Android Device (Android 13, Android 9)

I have the same problem. When i'm in the device pair section, no device shows, and if i force the update i receive baloon error "Scan failed wifi networks"

What can i do?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.