Code Monkey home page Code Monkey logo

Comments (11)

albertogeniola avatar albertogeniola commented on August 17, 2024 1

Latest version should have solved this. Many thanks to @twhittock for integrating my latest work on the underlying meross_iot library. Great teamwork!

from meross-homeassistant.

albertogeniola avatar albertogeniola commented on August 17, 2024

Hi Smoz. Unfortunately, I have no MSL100 to test, so it's kinda hard for me to replicate the problem.
Moreover, there is little you can do to provide the info I'd need, unless you are familiar with MITM SSL sniffing.

However, there still is an option. You might create a new Meross account with some email/password that you'll share with me (sure you must not use your current user/password, but new random ones). Then, you login into the Meross APP and pair only one MSL100 bulb. Then you share the email/password with me (privately via email, for instance), so I can play with the bulb (even if I have no bulb in my house, I'll be able to "sniff" traffic from the APP to the bulb, which should be enough), and this should get me started in finding a fix for the library. Once I collect the traffic I need, I'd tell you, so you can unpair the device and pair it back to your original account. This is not the best option to go, but I'm afraid there is no other way for me to collect the ssl traffic I need to implement the dimmer functionality on my utility.

from meross-homeassistant.

albertogeniola avatar albertogeniola commented on August 17, 2024

@debsahu please don't poison this thread with unrelated questions. Start a new one instead.

from meross-homeassistant.

MichaelPorras avatar MichaelPorras commented on August 17, 2024

Hey @albertogeniola! I'm experiencing this issue as well. If @Smoz has not sent you an account I'd be happy to help out.

from meross-homeassistant.

dr-s-mcgraw avatar dr-s-mcgraw commented on August 17, 2024

@albertogeniola I can help out as well. I have actually gathered some data using mitmproxy including the MQTT commands sent by the app.

For the record, I actually was able to fix it by changing line 220 in the meross_iot/cloud/devices/light_bulbs.py (should be in your site packages) to read:

if self.type.lower() == 'mss560m' or self.type.lower() == 'msl100r':

Looks like there was a workaround for the mss560m implemented and the msl100r requires it too.

@Anonymike @Smoz this should hopefully be a workaround for the time being until @albertogeniola is able to properly diagnose?

Disregard the above -- it seemed to work once and never again. Dang. My python skills are nowhere near good enough to properly diagnose, either.

Here's the JSON sent by the app when changing brightness:

{ "header": { "from": "http://bulp.ip.here/config", "messageId": "7b01bb2cd44a0587cdfbb49248664ef3", "method": "SET", "namespace": "Appliance.Control.Light", "payloadVersion": 1, "sign": "b64b0b2f03257c3c0d107db9f2224b42", "timestamp": 1566435439 }, "payload": { "light": { "capacity": 4, "channel": 0, "luminance": 50 } } }

and here's what Home Assistant was sending, which was returning an error 5003: " Not supported type!" Note it was only ever sending onoff, regardless of what I was changing:

{ "header": { "messageId": "979a33cc590bce366cc202dd64a19b58", "namespace": "Appliance.Control.ToggleX", "method": "PUSH", "payloadVersion": 1, "from": "/appliance/1903044944927039080734298f1aaf62/publish", "timestamp": 1566433222, "timestampMs": 477, "sign": "b325168f4239f1d5c2368447845a5915" }, "payload": { "togglex": [{ "channel": 0, "onoff": 1, "lmTime": 1566433222 }] } }

from meross-homeassistant.

MichaelPorras avatar MichaelPorras commented on August 17, 2024

@Robodexter Great catch! Definitely missing the luminance value. Also perhaps need to set the method to SET instead of PUSH? I'll poke around

from meross-homeassistant.

MichaelPorras avatar MichaelPorras commented on August 17, 2024

Looks like the component is okay, it's breaking in the library. There are notes all around the code stating he was unsure about color and dimming bulbs, 😛 so we're on the right track. I'm sure @albertogeniola could fix this in 2 seconds given your payload... Debugging here

from meross-homeassistant.

dr-s-mcgraw avatar dr-s-mcgraw commented on August 17, 2024

@Anonymike funny enough it seems if I make that change I'd strikethru'd earlier, eventually it will actually work. I don't know if this will help but looking at the logs, it seems to work once it receives an Appliance.System.Online message?

If it helps, here's my log file showing just the network_data: here . Line 75 is the last time I get an ERROR, and the first time we see Appliance.System.Online.

And here's everything related to the meross plugin in home assistant: here

Don't know if this will help, but maybe?

from meross-homeassistant.

MichaelPorras avatar MichaelPorras commented on August 17, 2024

@Robodexter I've got it to work consistently by removing the get_light_color function. My guess is that it's attempting to get led color for a non-color bulb which is making the script unhappy. A workaround until this can be fixed correctly is:

if self.type.lower() == 'mss560m':
            pl = {
                'light': self.get_light_color()
            }
            pl['light']['channel'] = channel
            pl['light']['luminance'] = luminance
            payload = pl
elif self.type.lower() == 'msl100r':
            pl = {
                'light': {}
            }
            pl['light']['capacity'] = 4
            pl['light']['channel'] = channel
            pl['light']['luminance'] = luminance
            payload = pl

from meross-homeassistant.

albertogeniola avatar albertogeniola commented on August 17, 2024

Hi guys and let me thank you all for the awesome collaborative debugging session here...!
So, I cannot reproduce the problem since my only Meross bulb is a RGB one.
I can integrate your suggestions in a beta library+component and make them available here, so that you can test them.for me and report back. As soon as I get some spare time, I'll do that.

from meross-homeassistant.

albertogeniola avatar albertogeniola commented on August 17, 2024

I've spent some time on looking at the code of the APP and the network communication and I think I got closer to the solution of the problem. I've released a new version of the underlying MerossIot library (0.3.1.6) which should be able to handle correctly luminance, temperature and rgb modes for Meross Bulbs. However, I hadn't enough time to integrate the new library with the meross-homeassistant component. I plan to do so next weekend.

In the meantime, I'd really appreciate if you can get a look at the new version of the underlying library and see if that works. Any feedback is really appreciated. In case your tests fail, please report your device model and the code snippet you tried.

from meross-homeassistant.

Related Issues (20)

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.