Giter Site home page Giter Site logo

MSG100 not working about merossiot HOT 22 CLOSED

albertogeniola avatar albertogeniola commented on August 28, 2024
MSG100 not working

from merossiot.

Comments (22)

albertogeniola avatar albertogeniola commented on August 28, 2024

Hi @coolguymatt,
I will get hands on that device by the end of the month. In the next few days, I would ask you to run some script in order to gather more info about the device, if you don't mind. Would you help me?

from merossiot.

coolguymatt avatar coolguymatt commented on August 28, 2024

Of course. Let me know how I can help.

from merossiot.

albertogeniola avatar albertogeniola commented on August 28, 2024

Alright then.
First, update the library version to to the latest 0.2.0.1:

pip install meross-iot --upgrade

Then I would need the output of the following script. It won't sanitize all the personal information, so, I would need you to purge out any personal data from it before publishing (MAC addresses, User ID).
Once I have that script, I might be able to investigate more!

from meross_iot.api import MerossHttpClient
from meross_iot.supported_devices.power_plugs import set_debug_level
from logging import DEBUG
import csv, io

EMAIL = 'YOUR_EMAIL'
PASSWORD = 'YOUR_PASSWORD'

client = MerossHttpClient(email=EMAIL, password=PASSWORD)
devices = client.list_supported_devices()


def sanitize_personal_info(d):
    if isinstance(d, dict):
        for key, value in d.items():
            k = key.lower()

            if isinstance(value, dict):
                sanitize_personal_info(value)
            elif isinstance(value, str) and (k == 'uuid' or k=='macaddress' or k == 'wifimac' or k == 'userid' or k=='bssid' or k =='ssid'):
                d[key] = 'X'
    elif isinstance(d, list):
        for k in d:
            sanitize_personal_info(k)

    return d


if __name__ == '__main__':
    set_debug_level(DEBUG)
    output = io.StringIO()
    writer = csv.writer(output, delimiter=';')

    for d in devices:
        r = []
        r.append(d._type)
        r.append(d._hwversion)
        r.append(d._fwversion)
        r.append(sanitize_personal_info(d.get_sys_data()))
        r.append(sanitize_personal_info(d.get_channels()))

        abilities = d.get_abilities()
        r.append(sanitize_personal_info(abilities))
        r.append(sanitize_personal_info(d.get_channels()))

        writer.writerow(r)

    print("\n\n---------------------------------------")
    print(str(output.getvalue()))

Thank you!

from merossiot.

coolguymatt avatar coolguymatt commented on August 28, 2024

Let me know if I did something wrong

--> {"header": {"from": "/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "f01bb06927c9339293b6f564fa03593e", "method": "GET", "namespace": "Appliance.System.All", "payloadVersion": 1, "sign": "c4ceddc7133c70db8c709f108aa92b95", "timestamp": 1554934858}, "payload": {}}
/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"f01bb06927c9339293b6f564fa03593e","namespace":"Appliance.System.All","method":"GETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1554934857,"timestampMs":71,"sign":"6963be36668616a8d38ae6dcc7b47198"},"payload":{"all":{"system":{"hardware":{"type":"msg100","subType":"us","version":"2.0.0","chipType":"mt7682","uuid":"18120167058930261h0134298f13c495","macAddress":"purge"},"firmware":{"version":"2.1.11","compileTime":"2019/03/16 14:00:24 GMT +08:00","wifiMac":"purge","innerIp":"192.168.1.248","server":"iot.meross.com","port":2001,"userId":purge},"time":{"timestamp":1554934857,"timezone":"America/Toronto","timeRule":[[1552201200,-14400,1],[1572760800,-18000,0],[1583650800,-14400,1],[1604210400,-18000,0],[1615705200,-14400,1],[1636264800,-18000,0],[1647154800,-14400,1],[1667714400,-18000,0],[1678604400,-14400,1],[1699164000,-18000,0],[1710054000,-14400,1],[1730613600,-18000,0],[1741503600,-14400,1],[1762063200,-18000,0],[1772953200,-14400,1],[1793512800,-18000,0],[1805007600,-14400,1],[1825567200,-18000,0],[1836457200,-14400,1],[1857016800,-18000,0]]},"online":{"status":1}},"digest":{"togglex":[{"channel":0,"onoff":1,"lmTime":0}],"triggerx":[],"timerx":[],"garageDoor":[{"channel":0,"open":0,"lmTime":1554904399}]}}}}'
The following message was unhandled: {'header': {'messageId': 'f01bb06927c9339293b6f564fa03593e', 'namespace': 'Appliance.System.All', 'method': 'GETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1554934857, 'timestampMs': 71, 'sign': '6963be36668616a8d38ae6dcc7b47198'}, 'payload': {'all': {'system': {'hardware': {'type': 'msg100', 'subType': 'us', 'version': '2.0.0', 'chipType': 'mt7682', 'uuid': '18120167058930261h0134298f13c495', 'macAddress': 'purge'}, 'firmware': {'version': '2.1.11', 'compileTime': '2019/03/16 14:00:24 GMT +08:00', 'wifiMac': 'purge', 'innerIp': '192.168.1.248', 'server': 'iot.meross.com', 'port': 2001, 'userId': purge}, 'time': {'timestamp': 1554934857, 'timezone': 'America/Toronto', 'timeRule': [[1552201200, -14400, 1], [1572760800, -18000, 0], [1583650800, -14400, 1], [1604210400, -18000, 0], [1615705200, -14400, 1], [1636264800, -18000, 0], [1647154800, -14400, 1], [1667714400, -18000, 0], [1678604400, -14400, 1], [1699164000, -18000, 0], [1710054000, -14400, 1], [1730613600, -18000, 0], [1741503600, -14400, 1], [1762063200, -18000, 0], [1772953200, -14400, 1], [1793512800, -18000, 0], [1805007600, -14400, 1], [1825567200, -18000, 0], [1836457200, -14400, 1], [1857016800, -18000, 0]]}, 'online': {'status': 1}}, 'digest': {'togglex': [{'channel': 0, 'onoff': 1, 'lmTime': 0}], 'triggerx': [], 'timerx': [], 'garageDoor': [{'channel': 0, 'open': 0, 'lmTime': 1554904399}]}}}}
--> {"header": {"from": "/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "9b919338f35122f7a4178b98ec3baf45", "method": "GET", "namespace": "Appliance.System.Ability", "payloadVersion": 1, "sign": "6cb1a714a1c22081735c001c4f96e73b", "timestamp": 1554934858}, "payload": {}}
/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"9b919338f35122f7a4178b98ec3baf45","namespace":"Appliance.System.Ability","method":"GETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1554934858,"timestampMs":825,"sign":"6cb1a714a1c22081735c001c4f96e73b"},"payload":{"payloadVersion":1,"ability":{"Appliance.Config.Key":{},"Appliance.Config.WifiList":{},"Appliance.Config.Wifi":{},"Appliance.Config.Trace":{},"Appliance.System.All":{},"Appliance.System.Hardware":{},"Appliance.System.Firmware":{},"Appliance.System.Debug":{},"Appliance.System.Online":{},"Appliance.System.Time":{},"Appliance.System.Ability":{},"Appliance.System.Runtime":{},"Appliance.System.Report":{},"Appliance.System.Position":{},"Appliance.System.DNDMode":{},"Appliance.Control.Multiple":{"maxCmdNum":5},"Appliance.Control.ToggleX":{},"Appliance.Control.TimerX":{"sunOffsetSupport":1,"notify":["Appliance.GarageDoor.State"]},"Appliance.Control.TriggerX":{"notify":["Appliance.GarageDoor.State"]},"Appliance.Control.Bind":{},"Appliance.Control.Unbind":{},"Appliance.Control.Upgrade":{},"Appliance.GarageDoor.State":{},"Appliance.Digest.TriggerX":{},"Appliance.Digest.TimerX":{}}}}'
The following message was unhandled: {'header': {'messageId': '9b919338f35122f7a4178b98ec3baf45', 'namespace': 'Appliance.System.Ability', 'method': 'GETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1554934858, 'timestampMs': 825, 'sign': '6cb1a714a1c22081735c001c4f96e73b'}, 'payload': {'payloadVersion': 1, 'ability': {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}}}


---------------------------------------
msg100;2.0.0;2.1.11;{'all': {'system': {'hardware': {'type': 'msg100', 'subType': 'us', 'version': '2.0.0', 'chipType': 'mt7682', 'uuid': 'X', 'macAddress': 'X'}, 'firmware': {'version': '2.1.11', 'compileTime': '2019/03/16 14:00:24 GMT +08:00', 'wifiMac': 'X', 'innerIp': '192.168.1.248', 'server': 'iot.meross.com', 'port': 2001, 'userId': purge}, 'time': {'timestamp': 1554934857, 'timezone': 'America/Toronto', 'timeRule': [[1552201200, -14400, 1], [1572760800, -18000, 0], [1583650800, -14400, 1], [1604210400, -18000, 0], [1615705200, -14400, 1], [1636264800, -18000, 0], [1647154800, -14400, 1], [1667714400, -18000, 0], [1678604400, -14400, 1], [1699164000, -18000, 0], [1710054000, -14400, 1], [1730613600, -18000, 0], [1741503600, -14400, 1], [1762063200, -18000, 0], [1772953200, -14400, 1], [1793512800, -18000, 0], [1805007600, -14400, 1], [1825567200, -18000, 0], [1836457200, -14400, 1], [1857016800, -18000, 0]]}, 'online': {'status': 1}}, 'digest': {'togglex': [{'channel': 0, 'onoff': 1, 'lmTime': 0}], 'triggerx': [], 'timerx': [], 'garageDoor': [{'channel': 0, 'open': 0, 'lmTime': 1554904399}]}}};[{}];{'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}};[{}]

from merossiot.

albertogeniola avatar albertogeniola commented on August 28, 2024

Hi @coolguymatt ,
I've spent some time in guessing how your device works. I need you to test what I've done so far to check if I'm on the right track.

Now, I've created a new branch for testing the MSG100. What you need to do is to uninstall any previous version of the meross-iot library, clone this git repository, move to the MSG100 branch and test it with your device. If you are unfamiliar with GIT, I'll try to guide you through.

pip uninstall meross-iot
git clone https://github.com/albertogeniola/MerossIot.git
cd MerossIot
git checkout MSG100
git pull
python test_msg100.py

The script will ask for your user/password on meross cloud and will let you play with the functionality I've been implementing for your device. Please try to use the device and then report to me the content of the generated msg100.log file and the output of the console (as you play) with it.

Don't forget to check if your garage door opens/closes!

Thank you for your help!

from merossiot.

coolguymatt avatar coolguymatt commented on August 28, 2024

I ran the file successfully. I tried the commands from the script. I then opened the garage using the app, and the script was still showing the reported garage state as CLOSED.

Welcome to the MSG100 test script. Thank you for helping me in testing this device!
-----------------------------------------
All low-level lows will be saved to /home/matthew/MerossIot/msg100.log
Please enter your meross cloud email and password. That would allow me to perform some tests.
Your meross EMAIL: [email protected]
Your meross PASSWORD: 
Connecting to HTTP-API...
Looking for the meross MSG100
Found MSG100 named Garage Door
Let's see whats the Garage status right now...
-------------------------
Now it's your turn. Try to play with the garage and report if it's working or not.
This device does not support GARAGE_STATE method
Reported garage state is: CLOSED. Go check if that is true!
Your command (O for opening, C for closing, Q for quitting): 0
Invalid command provided.
This device does not support GARAGE_STATE method
Reported garage state is: CLOSED. Go check if that is true!
Your command (O for opening, C for closing, Q for quitting): C
Closing
This device does not support GARAGE_STATE method
Reported garage state is: CLOSED. Go check if that is true!
Your command (O for opening, C for closing, Q for quitting): C
Closing
This device does not support GARAGE_STATE method
Reported garage state is: CLOSED. Go check if that is true!
Your command (O for opening, C for closing, Q for quitting): O
Opening...
This device does not support GARAGE_STATE method
Reported garage state is: CLOSED. Go check if that is true!
Your command (O for opening, C for closing, Q for quitting): Q
Quitting

Here is the msg100.log file

Connected with result code {'session present': 0}
Subscribing to topics...
Succesfully subscribed!
Succesfully subscribed!
--> {"header": {"from": "/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "efbd4f54b9d254fe6f6cf36057c6f772", "method": "GET", "namespace": "Appliance.System.All", "payloadVersion": 1, "sign": "a1dc5c4777ec4691083400fb4ae22889", "timestamp": 1555154208}, "payload": {}}
/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"efbd4f54b9d254fe6f6cf36057c6f772","namespace":"Appliance.System.All","method":"GETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555154207,"timestampMs":850,"sign":"6e83d9190d1d11300b06200fe86ceed7"},"payload":{"all":{"system":{"hardware":{"type":"msg100","subType":"us","version":"2.0.0","chipType":"mt7682","uuid":"18120167058930261h0134298f13c495","macAddress":"purge"},"firmware":{"version":"2.1.11","compileTime":"2019/03/16 14:00:24 GMT +08:00","wifiMac":"fc:ec:da:81:0e:94","innerIp":"192.168.1.248","server":"iot.meross.com","port":2001,"userId":purge},"time":{"timestamp":1555154207,"timezone":"America/Toronto","timeRule":[[1552201200,-14400,1],[1572760800,-18000,0],[1583650800,-14400,1],[1604210400,-18000,0],[1615705200,-14400,1],[1636264800,-18000,0],[1647154800,-14400,1],[1667714400,-18000,0],[1678604400,-14400,1],[1699164000,-18000,0],[1710054000,-14400,1],[1730613600,-18000,0],[1741503600,-14400,1],[1762063200,-18000,0],[1772953200,-14400,1],[1793512800,-18000,0],[1805007600,-14400,1],[1825567200,-18000,0],[1836457200,-14400,1],[1857016800,-18000,0]]},"online":{"status":1}},"digest":{"togglex":[{"channel":0,"onoff":1,"lmTime":0}],"triggerx":[],"timerx":[],"garageDoor":[{"channel":0,"open":0,"lmTime":1555152424}]}}}}'
The following message was unhandled: {'header': {'messageId': 'efbd4f54b9d254fe6f6cf36057c6f772', 'namespace': 'Appliance.System.All', 'method': 'GETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555154207, 'timestampMs': 850, 'sign': '6e83d9190d1d11300b06200fe86ceed7'}, 'payload': {'all': {'system': {'hardware': {'type': 'msg100', 'subType': 'us', 'version': '2.0.0', 'chipType': 'mt7682', 'uuid': '18120167058930261h0134298f13c495', 'macAddress': 'purge'}, 'firmware': {'version': '2.1.11', 'compileTime': '2019/03/16 14:00:24 GMT +08:00', 'wifiMac': 'fc:ec:da:81:0e:94', 'innerIp': '192.168.1.248', 'server': 'iot.meross.com', 'port': 2001, 'userId': purge}, 'time': {'timestamp': 1555154207, 'timezone': 'America/Toronto', 'timeRule': [[1552201200, -14400, 1], [1572760800, -18000, 0], [1583650800, -14400, 1], [1604210400, -18000, 0], [1615705200, -14400, 1], [1636264800, -18000, 0], [1647154800, -14400, 1], [1667714400, -18000, 0], [1678604400, -14400, 1], [1699164000, -18000, 0], [1710054000, -14400, 1], [1730613600, -18000, 0], [1741503600, -14400, 1], [1762063200, -18000, 0], [1772953200, -14400, 1], [1793512800, -18000, 0], [1805007600, -14400, 1], [1825567200, -18000, 0], [1836457200, -14400, 1], [1857016800, -18000, 0]]}, 'online': {'status': 1}}, 'digest': {'togglex': [{'channel': 0, 'onoff': 1, 'lmTime': 0}], 'triggerx': [], 'timerx': [], 'garageDoor': [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]}}}}
--> {"header": {"from": "/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "ce4c662dae2a6b2555016bdd8fd80850", "method": "GET", "namespace": "Appliance.System.Ability", "payloadVersion": 1, "sign": "0e6c68ed753fac09e5eb89d412bb757a", "timestamp": 1555154208}, "payload": {}}
/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"ce4c662dae2a6b2555016bdd8fd80850","namespace":"Appliance.System.Ability","method":"GETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555154207,"timestampMs":102,"sign":"47ddf1e5b593e922e5fb3aee3cd94ba6"},"payload":{"payloadVersion":1,"ability":{"Appliance.Config.Key":{},"Appliance.Config.WifiList":{},"Appliance.Config.Wifi":{},"Appliance.Config.Trace":{},"Appliance.System.All":{},"Appliance.System.Hardware":{},"Appliance.System.Firmware":{},"Appliance.System.Debug":{},"Appliance.System.Online":{},"Appliance.System.Time":{},"Appliance.System.Ability":{},"Appliance.System.Runtime":{},"Appliance.System.Report":{},"Appliance.System.Position":{},"Appliance.System.DNDMode":{},"Appliance.Control.Multiple":{"maxCmdNum":5},"Appliance.Control.ToggleX":{},"Appliance.Control.TimerX":{"sunOffsetSupport":1,"notify":["Appliance.GarageDoor.State"]},"Appliance.Control.TriggerX":{"notify":["Appliance.GarageDoor.State"]},"Appliance.Control.Bind":{},"Appliance.Control.Unbind":{},"Appliance.Control.Upgrade":{},"Appliance.GarageDoor.State":{},"Appliance.Digest.TriggerX":{},"Appliance.Digest.TimerX":{}}}}'
The following message was unhandled: {'header': {'messageId': 'ce4c662dae2a6b2555016bdd8fd80850', 'namespace': 'Appliance.System.Ability', 'method': 'GETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555154207, 'timestampMs': 102, 'sign': '47ddf1e5b593e922e5fb3aee3cd94ba6'}, 'payload': {'payloadVersion': 1, 'ability': {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}}}
This device does not support GARAGE_STATE method
This device does not support GARAGE_STATE method
--> {"header": {"from": "/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "70e2fc0d2b95f7220b92ec76af6eb192", "method": "SET", "namespace": "Appliance.Control.ToggleX", "payloadVersion": 1, "sign": "a79de7f6bdd8a5dd7bf1a693ae04cad5", "timestamp": 1555154232}, "payload": {"togglex": {"onoff": 1, "channel": 0}}}
/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"70e2fc0d2b95f7220b92ec76af6eb192","namespace":"Appliance.Control.ToggleX","method":"SETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555154232,"timestampMs":396,"sign":"a79de7f6bdd8a5dd7bf1a693ae04cad5"},"payload":{}}'
The following message was unhandled: {'header': {'messageId': '70e2fc0d2b95f7220b92ec76af6eb192', 'namespace': 'Appliance.Control.ToggleX', 'method': 'SETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555154232, 'timestampMs': 396, 'sign': 'a79de7f6bdd8a5dd7bf1a693ae04cad5'}, 'payload': {}}
This device does not support GARAGE_STATE method
--> {"header": {"from": "/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "48fb069d76d5e01188efb9aad5cd9d5d", "method": "SET", "namespace": "Appliance.Control.ToggleX", "payloadVersion": 1, "sign": "e8d8881858d7e729a50edec11ff0c743", "timestamp": 1555154269}, "payload": {"togglex": {"onoff": 1, "channel": 0}}}
/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"48fb069d76d5e01188efb9aad5cd9d5d","namespace":"Appliance.Control.ToggleX","method":"SETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555154269,"timestampMs":479,"sign":"e8d8881858d7e729a50edec11ff0c743"},"payload":{}}'
The following message was unhandled: {'header': {'messageId': '48fb069d76d5e01188efb9aad5cd9d5d', 'namespace': 'Appliance.Control.ToggleX', 'method': 'SETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555154269, 'timestampMs': 479, 'sign': 'e8d8881858d7e729a50edec11ff0c743'}, 'payload': {}}
This device does not support GARAGE_STATE method
--> {"header": {"from": "/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "cd07192140564008afcf316c45ebf7d0", "method": "SET", "namespace": "Appliance.Control.ToggleX", "payloadVersion": 1, "sign": "73bf85b862f4b2fd9cd3b8f246e8945e", "timestamp": 1555154273}, "payload": {"togglex": {"onoff": 1, "channel": 0}}}
/app/199099-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"cd07192140564008afcf316c45ebf7d0","namespace":"Appliance.Control.ToggleX","method":"SETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555154272,"timestampMs":243,"sign":"ce862b1cb34e9be32bc4507d966a0bb8"},"payload":{}}'
The following message was unhandled: {'header': {'messageId': 'cd07192140564008afcf316c45ebf7d0', 'namespace': 'Appliance.Control.ToggleX', 'method': 'SETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555154272, 'timestampMs': 243, 'sign': 'ce862b1cb34e9be32bc4507d966a0bb8'}, 'payload': {}}
This device does not support GARAGE_STATE method

from merossiot.

albertogeniola avatar albertogeniola commented on August 28, 2024

Hi @coolguymatt ,
that is really strange. The log clearly states that the ability "Appliance.GarageDoor.State" is present but for some reason my script fails to catch that.

A few questions:

  1. If you press the O (Open) command or the C (Close) commands, does the garage door operate?
  2. Would you mind to repeat the test? I've updated the script to provide more verbose logging. You can do that by simply navigating into the directory that contains the library you downloaded previously and issue the GIT PULL command. Then run the script again:
cd MerossIot
rm msg100.log
git checkout MSG100
git pull
python test_msg100.py

Again, I would need both the output and the content of the msg100.log file that is generated by the script. Thank you for your time and help!

from merossiot.

albertogeniola avatar albertogeniola commented on August 28, 2024

So, I've been looking at the app code and it seems that the GARAGE OPENER is handled differently from the rest of devices. In particular, the command that is sent to the remote MQTT broker is something described by the following:

BaseBeanForControlDevice c = c(str, "SET", "Appliance.GarageDoor.State");
HashMap hashMap = new HashMap();
hashMap.put("channel", Integer.valueOf(i));
hashMap.put("open", Integer.valueOf(i2));
hashMap.put("uuid", str2);
c.addPayload("state", hashMap);

So it looks like the app is sending a "Appliance.GarageDoor.State" command with a payload composed with the status of the garage door and some UUID that I still need to figure out.

Anyways, I've updated again the script so that two new test methods are available. Now you can play with the following commands:
o -> Tries to open the door with TOGGLEX
c -> Tries to close the door with TOGGLEX
o1 -> Tries to open the door with "Appliance.GarageDoor.State" and the concatenation of device/channel
c1 -> Tries to close the door with "Appliance.GarageDoor.State" and the concatenation of device/channel
o2 -> Tries to open the door with "Appliance.GarageDoor.State" and the device uuid
c2 -> Tries to close the door with "Appliance.GarageDoor.State" and the device uuid

Please try to play with those commands and let me know if any of them works... Also, don't forget to report back both the output and the logfile info.

from merossiot.

coolguymatt avatar coolguymatt commented on August 28, 2024

The new commands worked (O1,O2 and C1,C2).

-----------------------------------------
Welcome to the MSG100 test script. Thank you for helping me in testing this device!
-----------------------------------------
All low-level lows will be saved to /home/matthew/MerossIot/msg100.log
Please enter your meross cloud email and password. That would allow me to perform some tests.
Your meross EMAIL: [email protected]
Your meross PASSWORD: 
Connecting to HTTP-API...
Looking for the meross MSG100
Found MSG100 named Garage Door
Let's see whats the Garage status right now...
-------------------------
Now it's your turn. Try to play with the garage and report if it's working or not.
Reported garage state is: CLOSED. Go check if that is true!
Commands:
OPEN with TOGGLEX: O
CLOSE with TOGGLEX: C
OPEN with GARAGE_DOOR_STATE with UUID+CHANNEL: O1
CLOSE with GARAGE_DOOR_STATE with UUID+CHANNEL: C1
OPEN with GARAGE_DOOR_STATE with UUID: O2
CLOSE with GARAGE_DOOR_STATE with UUID: C2
QUIT: Q
Your command: O
O: Opening...
Reported garage state is: CLOSED. Go check if that is true!
Commands:
OPEN with TOGGLEX: O
CLOSE with TOGGLEX: C
OPEN with GARAGE_DOOR_STATE with UUID+CHANNEL: O1
CLOSE with GARAGE_DOOR_STATE with UUID+CHANNEL: C1
OPEN with GARAGE_DOOR_STATE with UUID: O2
CLOSE with GARAGE_DOOR_STATE with UUID: C2
QUIT: Q
Your command: 01
Invalid command provided.
Reported garage state is: CLOSED. Go check if that is true!
Commands:
OPEN with TOGGLEX: O
CLOSE with TOGGLEX: C
OPEN with GARAGE_DOOR_STATE with UUID+CHANNEL: O1
CLOSE with GARAGE_DOOR_STATE with UUID+CHANNEL: C1
OPEN with GARAGE_DOOR_STATE with UUID: O2
CLOSE with GARAGE_DOOR_STATE with UUID: C2
QUIT: Q
Your command: O1
O1: Opening...
Reported garage state is: CLOSED. Go check if that is true!
Commands:
OPEN with TOGGLEX: O
CLOSE with TOGGLEX: C
OPEN with GARAGE_DOOR_STATE with UUID+CHANNEL: O1
CLOSE with GARAGE_DOOR_STATE with UUID+CHANNEL: C1
OPEN with GARAGE_DOOR_STATE with UUID: O2
CLOSE with GARAGE_DOOR_STATE with UUID: C2
QUIT: Q
Your command: 18120167058930261h0134298f13c495 failed to process message because: 'garageDoor'
C
C: Closing...
Reported garage state is: CLOSED. Go check if that is true!
Commands:
OPEN with TOGGLEX: O
CLOSE with TOGGLEX: C
OPEN with GARAGE_DOOR_STATE with UUID+CHANNEL: O1
CLOSE with GARAGE_DOOR_STATE with UUID+CHANNEL: C1
OPEN with GARAGE_DOOR_STATE with UUID: O2
CLOSE with GARAGE_DOOR_STATE with UUID: C2
QUIT: Q
Your command: C
C: Closing...
Reported garage state is: CLOSED. Go check if that is true!
Commands:
OPEN with TOGGLEX: O
CLOSE with TOGGLEX: C
OPEN with GARAGE_DOOR_STATE with UUID+CHANNEL: O1
CLOSE with GARAGE_DOOR_STATE with UUID+CHANNEL: C1
OPEN with GARAGE_DOOR_STATE with UUID: O2
CLOSE with GARAGE_DOOR_STATE with UUID: C2
QUIT: Q
Your command: C1
C1: Closing...
Reported garage state is: CLOSED. Go check if that is true!
Commands:
OPEN with TOGGLEX: O
CLOSE with TOGGLEX: C
OPEN with GARAGE_DOOR_STATE with UUID+CHANNEL: O1
CLOSE with GARAGE_DOOR_STATE with UUID+CHANNEL: C1
OPEN with GARAGE_DOOR_STATE with UUID: O2
CLOSE with GARAGE_DOOR_STATE with UUID: C2
QUIT: Q
Your command: 18120167058930261h0134298f13c495 failed to process message because: 'garageDoor'

Invalid command provided.
Reported garage state is: CLOSED. Go check if that is true!
Commands:
OPEN with TOGGLEX: O
CLOSE with TOGGLEX: C
OPEN with GARAGE_DOOR_STATE with UUID+CHANNEL: O1
CLOSE with GARAGE_DOOR_STATE with UUID+CHANNEL: C1
OPEN with GARAGE_DOOR_STATE with UUID: O2
CLOSE with GARAGE_DOOR_STATE with UUID: C2
QUIT: Q
Your command: O2
O2: Opening...
Reported garage state is: CLOSED. Go check if that is true!
Commands:
OPEN with TOGGLEX: O
CLOSE with TOGGLEX: C
OPEN with GARAGE_DOOR_STATE with UUID+CHANNEL: O1
CLOSE with GARAGE_DOOR_STATE with UUID+CHANNEL: C1
OPEN with GARAGE_DOOR_STATE with UUID: O2
CLOSE with GARAGE_DOOR_STATE with UUID: C2
QUIT: Q
Your command: 18120167058930261h0134298f13c495 failed to process message because: 'garageDoor'

Invalid command provided.
Reported garage state is: CLOSED. Go check if that is true!
Commands:
OPEN with TOGGLEX: O
CLOSE with TOGGLEX: C
OPEN with GARAGE_DOOR_STATE with UUID+CHANNEL: O1
CLOSE with GARAGE_DOOR_STATE with UUID+CHANNEL: C1
OPEN with GARAGE_DOOR_STATE with UUID: O2
CLOSE with GARAGE_DOOR_STATE with UUID: C2
QUIT: Q
Your command: C2
C2: Closing...
Reported garage state is: CLOSED. Go check if that is true!
Commands:
OPEN with TOGGLEX: O
CLOSE with TOGGLEX: C
OPEN with GARAGE_DOOR_STATE with UUID+CHANNEL: O1
CLOSE with GARAGE_DOOR_STATE with UUID+CHANNEL: C1
OPEN with GARAGE_DOOR_STATE with UUID: O2
CLOSE with GARAGE_DOOR_STATE with UUID: C2
QUIT: Q
Your command: 18120167058930261h0134298f13c495 failed to process message because: 'garageDoor'


msg.log file

Connected with result code {'session present': 0}
Subscribing to topics...
Succesfully subscribed!
Succesfully subscribed!
--> {"header": {"from": "/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "32dd8d11b98823556fd6fb421a09df99", "method": "GET", "namespace": "Appliance.System.All", "payloadVersion": 1, "sign": "515d1f4bedb5bba436d65cbb1c272b33", "timestamp": 1555276769}, "payload": {}}
/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"32dd8d11b98823556fd6fb421a09df99","namespace":"Appliance.System.All","method":"GETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555276768,"timestampMs":509,"sign":"f50b12a5f156a614e7feb4d1c2ea3fa5"},"payload":{"all":{"system":{"hardware":{"type":"msg100","subType":"us","version":"2.0.0","chipType":"mt7682","uuid":"18120167058930261h0134298f13c495","macAddress":"purge"},"firmware":{"version":"2.1.11","compileTime":"2019/03/16 14:00:24 GMT +08:00","wifiMac":"fc:ec:da:81:0e:94","innerIp":"192.168.1.248","server":"iot.meross.com","port":2001,"userId":purge},"time":{"timestamp":1555276768,"timezone":"America/Toronto","timeRule":[[1552201200,-14400,1],[1572760800,-18000,0],[1583650800,-14400,1],[1604210400,-18000,0],[1615705200,-14400,1],[1636264800,-18000,0],[1647154800,-14400,1],[1667714400,-18000,0],[1678604400,-14400,1],[1699164000,-18000,0],[1710054000,-14400,1],[1730613600,-18000,0],[1741503600,-14400,1],[1762063200,-18000,0],[1772953200,-14400,1],[1793512800,-18000,0],[1805007600,-14400,1],[1825567200,-18000,0],[1836457200,-14400,1],[1857016800,-18000,0]]},"online":{"status":1}},"digest":{"togglex":[{"channel":0,"onoff":1,"lmTime":0}],"triggerx":[],"timerx":[],"garageDoor":[{"channel":0,"open":0,"lmTime":1555152424}]}}}}'
The following message was unhandled: {'header': {'messageId': '32dd8d11b98823556fd6fb421a09df99', 'namespace': 'Appliance.System.All', 'method': 'GETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555276768, 'timestampMs': 509, 'sign': 'f50b12a5f156a614e7feb4d1c2ea3fa5'}, 'payload': {'all': {'system': {'hardware': {'type': 'msg100', 'subType': 'us', 'version': '2.0.0', 'chipType': 'mt7682', 'uuid': '18120167058930261h0134298f13c495', 'macAddress': 'purge'}, 'firmware': {'version': '2.1.11', 'compileTime': '2019/03/16 14:00:24 GMT +08:00', 'wifiMac': 'fc:ec:da:81:0e:94', 'innerIp': '192.168.1.248', 'server': 'iot.meross.com', 'port': 2001, 'userId': purge}, 'time': {'timestamp': 1555276768, 'timezone': 'America/Toronto', 'timeRule': [[1552201200, -14400, 1], [1572760800, -18000, 0], [1583650800, -14400, 1], [1604210400, -18000, 0], [1615705200, -14400, 1], [1636264800, -18000, 0], [1647154800, -14400, 1], [1667714400, -18000, 0], [1678604400, -14400, 1], [1699164000, -18000, 0], [1710054000, -14400, 1], [1730613600, -18000, 0], [1741503600, -14400, 1], [1762063200, -18000, 0], [1772953200, -14400, 1], [1793512800, -18000, 0], [1805007600, -14400, 1], [1825567200, -18000, 0], [1836457200, -14400, 1], [1857016800, -18000, 0]]}, 'online': {'status': 1}}, 'digest': {'togglex': [{'channel': 0, 'onoff': 1, 'lmTime': 0}], 'triggerx': [], 'timerx': [], 'garageDoor': [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]}}}}
Abilities: None
Garage state: [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]
--> {"header": {"from": "/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "b26cc7e9851e31369d94997a43f68664", "method": "GET", "namespace": "Appliance.System.Ability", "payloadVersion": 1, "sign": "8f3927f4c42d7a4ed0ed9d56700f9151", "timestamp": 1555276785}, "payload": {}}
/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"b26cc7e9851e31369d94997a43f68664","namespace":"Appliance.System.Ability","method":"GETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555276784,"timestampMs":223,"sign":"c4a1ff7eef8ec237cf159a1a70ad4355"},"payload":{"payloadVersion":1,"ability":{"Appliance.Config.Key":{},"Appliance.Config.WifiList":{},"Appliance.Config.Wifi":{},"Appliance.Config.Trace":{},"Appliance.System.All":{},"Appliance.System.Hardware":{},"Appliance.System.Firmware":{},"Appliance.System.Debug":{},"Appliance.System.Online":{},"Appliance.System.Time":{},"Appliance.System.Ability":{},"Appliance.System.Runtime":{},"Appliance.System.Report":{},"Appliance.System.Position":{},"Appliance.System.DNDMode":{},"Appliance.Control.Multiple":{"maxCmdNum":5},"Appliance.Control.ToggleX":{},"Appliance.Control.TimerX":{"sunOffsetSupport":1,"notify":["Appliance.GarageDoor.State"]},"Appliance.Control.TriggerX":{"notify":["Appliance.GarageDoor.State"]},"Appliance.Control.Bind":{},"Appliance.Control.Unbind":{},"Appliance.Control.Upgrade":{},"Appliance.GarageDoor.State":{},"Appliance.Digest.TriggerX":{},"Appliance.Digest.TimerX":{}}}}'
The following message was unhandled: {'header': {'messageId': 'b26cc7e9851e31369d94997a43f68664', 'namespace': 'Appliance.System.Ability', 'method': 'GETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555276784, 'timestampMs': 223, 'sign': 'c4a1ff7eef8ec237cf159a1a70ad4355'}, 'payload': {'payloadVersion': 1, 'ability': {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}}}
RETURNED abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
CACHED abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
CACHED abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
--> {"header": {"from": "/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "352c6a0fcd45e91daa725dc8d48f89e0", "method": "SET", "namespace": "Appliance.Control.ToggleX", "payloadVersion": 1, "sign": "76e7ff4b9729be730092918edb7b2ab1", "timestamp": 1555276785}, "payload": {"togglex": {"onoff": 1, "channel": 0}}}
/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"352c6a0fcd45e91daa725dc8d48f89e0","namespace":"Appliance.Control.ToggleX","method":"SETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555276784,"timestampMs":431,"sign":"5af4ddecd7600bbbf2a0c31b6fd9ae68"},"payload":{}}'
The following message was unhandled: {'header': {'messageId': '352c6a0fcd45e91daa725dc8d48f89e0', 'namespace': 'Appliance.Control.ToggleX', 'method': 'SETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555276784, 'timestampMs': 431, 'sign': '5af4ddecd7600bbbf2a0c31b6fd9ae68'}, 'payload': {}}
Abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
Garage state: [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]
Abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
Garage state: [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]
--> {"header": {"from": "/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "49057ca08f074f35877198b0de96242d", "method": "SET", "namespace": "Appliance.GarageDoor.State", "payloadVersion": 1, "sign": "c6a13263d431eedc810f4870e341ea43", "timestamp": 1555277076}, "payload": {"state": {"channel": 0, "open": 1, "uuid": "18120167058930261h0134298f13c4950"}}}
/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"49057ca08f074f35877198b0de96242d","namespace":"Appliance.GarageDoor.State","method":"SETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555277075,"timestampMs":915,"sign":"35696cfe90ab5b75fafeab521a0494c9"},"payload":{"state":{"channel":0,"open":0,"lmTime":1555152424,"execute":1}}}'
The following message was unhandled: {'header': {'messageId': '49057ca08f074f35877198b0de96242d', 'namespace': 'Appliance.GarageDoor.State', 'method': 'SETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555277075, 'timestampMs': 915, 'sign': '35696cfe90ab5b75fafeab521a0494c9'}, 'payload': {'state': {'channel': 0, 'open': 0, 'lmTime': 1555152424, 'execute': 1}}}
Abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
Garage state: [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]
/app/purge/subscribe --> b'{"header":{"messageId":"7cc1957949804d69d76cd2ca64dc1ce7","namespace":"Appliance.GarageDoor.State","method":"PUSH","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555277077,"timestampMs":12,"sign":"11dd462fa45de317e525b68fb3b6a17a"},"payload":{"state":[{"channel":0,"open":1,"lmTime":1555277076}]}}'
18120167058930261h0134298f13c495 failed to process message because: 'garageDoor'
CACHED abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
CACHED abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
--> {"header": {"from": "/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "f4db56c91b5d2c4baa7f1d0944d76af0", "method": "SET", "namespace": "Appliance.Control.ToggleX", "payloadVersion": 1, "sign": "8eb7c336d15271017f3560b41f378203", "timestamp": 1555277099}, "payload": {"togglex": {"onoff": 0, "channel": 0}}}
/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"f4db56c91b5d2c4baa7f1d0944d76af0","namespace":"Appliance.Control.ToggleX","method":"SETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555277099,"timestampMs":811,"sign":"8eb7c336d15271017f3560b41f378203"},"payload":{}}'
The following message was unhandled: {'header': {'messageId': 'f4db56c91b5d2c4baa7f1d0944d76af0', 'namespace': 'Appliance.Control.ToggleX', 'method': 'SETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555277099, 'timestampMs': 811, 'sign': '8eb7c336d15271017f3560b41f378203'}, 'payload': {}}
Abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
Garage state: [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]
CACHED abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
CACHED abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
--> {"header": {"from": "/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "a97f0b66fa4e5ed13c32fff2afd29862", "method": "SET", "namespace": "Appliance.Control.ToggleX", "payloadVersion": 1, "sign": "eb5d36d6bf247740d8d8856b061bde48", "timestamp": 1555277102}, "payload": {"togglex": {"onoff": 0, "channel": 0}}}
/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"a97f0b66fa4e5ed13c32fff2afd29862","namespace":"Appliance.Control.ToggleX","method":"SETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555277103,"timestampMs":395,"sign":"67b0adc9895e3cce387d1007cd99f3fa"},"payload":{}}'
The following message was unhandled: {'header': {'messageId': 'a97f0b66fa4e5ed13c32fff2afd29862', 'namespace': 'Appliance.Control.ToggleX', 'method': 'SETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555277103, 'timestampMs': 395, 'sign': '67b0adc9895e3cce387d1007cd99f3fa'}, 'payload': {}}
Abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
Garage state: [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]
--> {"header": {"from": "/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "45817ebca15293c5c70b26dbdec217d4", "method": "SET", "namespace": "Appliance.GarageDoor.State", "payloadVersion": 1, "sign": "a21df26ea63cbac8f02609ad0a873246", "timestamp": 1555277107}, "payload": {"state": {"channel": 0, "open": 0, "uuid": "18120167058930261h0134298f13c4950"}}}
/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"45817ebca15293c5c70b26dbdec217d4","namespace":"Appliance.GarageDoor.State","method":"SETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555277108,"timestampMs":573,"sign":"09e414ef5ad8ed31b57cbdef36260834"},"payload":{"state":{"channel":0,"open":1,"lmTime":1555277076,"execute":1}}}'
The following message was unhandled: {'header': {'messageId': '45817ebca15293c5c70b26dbdec217d4', 'namespace': 'Appliance.GarageDoor.State', 'method': 'SETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555277108, 'timestampMs': 573, 'sign': '09e414ef5ad8ed31b57cbdef36260834'}, 'payload': {'state': {'channel': 0, 'open': 1, 'lmTime': 1555277076, 'execute': 1}}}
Abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
Garage state: [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]
/app/purge/subscribe --> b'{"header":{"messageId":"06b2fc2683ff3b8b83a35893987e7f5b","namespace":"Appliance.GarageDoor.State","method":"PUSH","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555277122,"timestampMs":658,"sign":"2869b6e4d6bba8e32e1c312d580e3f98"},"payload":{"state":[{"channel":0,"open":0,"lmTime":1555277121}]}}'
18120167058930261h0134298f13c495 failed to process message because: 'garageDoor'
Abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
Garage state: [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]
--> {"header": {"from": "/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "f9d88f5dc91c4360ce9034c19b6785d9", "method": "SET", "namespace": "Appliance.GarageDoor.State", "payloadVersion": 1, "sign": "a5a615ea68de2264ca99e42018371d22", "timestamp": 1555277129}, "payload": {"state": {"channel": 0, "open": 1, "uuid": "18120167058930261h0134298f13c495"}}}
/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"f9d88f5dc91c4360ce9034c19b6785d9","namespace":"Appliance.GarageDoor.State","method":"SETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555277130,"timestampMs":573,"sign":"a53144fcb45f122b2c433c21c0d876d1"},"payload":{"state":{"channel":0,"open":0,"lmTime":1555277121,"execute":1}}}'
The following message was unhandled: {'header': {'messageId': 'f9d88f5dc91c4360ce9034c19b6785d9', 'namespace': 'Appliance.GarageDoor.State', 'method': 'SETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555277130, 'timestampMs': 573, 'sign': 'a53144fcb45f122b2c433c21c0d876d1'}, 'payload': {'state': {'channel': 0, 'open': 0, 'lmTime': 1555277121, 'execute': 1}}}
Abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
Garage state: [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]
/app/purge/subscribe --> b'{"header":{"messageId":"df3f11c31a9f5db323cce41022670a1b","namespace":"Appliance.GarageDoor.State","method":"PUSH","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555277132,"timestampMs":662,"sign":"ba1ed4ca9ba16337069d5f81bad6b069"},"payload":{"state":[{"channel":0,"open":1,"lmTime":1555277131}]}}'
18120167058930261h0134298f13c495 failed to process message because: 'garageDoor'
Abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
Garage state: [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]
--> {"header": {"from": "/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe", "messageId": "e87c667c4585b0aec5d17dec26e843f7", "method": "SET", "namespace": "Appliance.GarageDoor.State", "payloadVersion": 1, "sign": "69204d9967a228268a7cb13661c21e74", "timestamp": 1555277148}, "payload": {"state": {"channel": 0, "open": 0, "uuid": "18120167058930261h0134298f13c495"}}}
/app/purge-79e4719a029c6eb60bf216621c7a5e58/subscribe --> b'{"header":{"messageId":"e87c667c4585b0aec5d17dec26e843f7","namespace":"Appliance.GarageDoor.State","method":"SETACK","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555277149,"timestampMs":453,"sign":"d36b9b6e968a4ec21f2a01884a06f4b2"},"payload":{"state":{"channel":0,"open":1,"lmTime":1555277131,"execute":1}}}'
The following message was unhandled: {'header': {'messageId': 'e87c667c4585b0aec5d17dec26e843f7', 'namespace': 'Appliance.GarageDoor.State', 'method': 'SETACK', 'payloadVersion': 1, 'from': '/appliance/18120167058930261h0134298f13c495/publish', 'timestamp': 1555277149, 'timestampMs': 453, 'sign': 'd36b9b6e968a4ec21f2a01884a06f4b2'}, 'payload': {'state': {'channel': 0, 'open': 1, 'lmTime': 1555277131, 'execute': 1}}}
Abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
Garage state: [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]
/app/purge/subscribe --> b'{"header":{"messageId":"629e5cc7ece8d9c02ae8c7b0e77af0ca","namespace":"Appliance.GarageDoor.State","method":"PUSH","payloadVersion":1,"from":"/appliance/18120167058930261h0134298f13c495/publish","timestamp":1555277163,"timestampMs":539,"sign":"e72006b8036c4a8007fedbe000b249b8"},"payload":{"state":[{"channel":0,"open":0,"lmTime":1555277162}]}}'
18120167058930261h0134298f13c495 failed to process message because: 'garageDoor'
Abilities: {'Appliance.Config.Key': {}, 'Appliance.Config.WifiList': {}, 'Appliance.Config.Wifi': {}, 'Appliance.Config.Trace': {}, 'Appliance.System.All': {}, 'Appliance.System.Hardware': {}, 'Appliance.System.Firmware': {}, 'Appliance.System.Debug': {}, 'Appliance.System.Online': {}, 'Appliance.System.Time': {}, 'Appliance.System.Ability': {}, 'Appliance.System.Runtime': {}, 'Appliance.System.Report': {}, 'Appliance.System.Position': {}, 'Appliance.System.DNDMode': {}, 'Appliance.Control.Multiple': {'maxCmdNum': 5}, 'Appliance.Control.ToggleX': {}, 'Appliance.Control.TimerX': {'sunOffsetSupport': 1, 'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.TriggerX': {'notify': ['Appliance.GarageDoor.State']}, 'Appliance.Control.Bind': {}, 'Appliance.Control.Unbind': {}, 'Appliance.Control.Upgrade': {}, 'Appliance.GarageDoor.State': {}, 'Appliance.Digest.TriggerX': {}, 'Appliance.Digest.TimerX': {}}
Garage state: [{'channel': 0, 'open': 0, 'lmTime': 1555152424}]

from merossiot.

albertogeniola avatar albertogeniola commented on August 28, 2024

Hi Cool guy,
Just to be 100% sure, did the garage door open when you issued the O1 command and close when you issued the C1 command?

from merossiot.

coolguymatt avatar coolguymatt commented on August 28, 2024

Hi Alberto,

Yes, that is correct. I just did it again to confirm that it opened and closed.

from merossiot.

albertogeniola avatar albertogeniola commented on August 28, 2024

Awesome!
So, I will review the code and prepare a new version of the library in order to support the garage opener too. Once I release that, I'll ask you to test it. Thank you so much!

from merossiot.

albertogeniola avatar albertogeniola commented on August 28, 2024

Hi @coolguymatt ,
I just want to inform you that, due to heavy refactoring of the library, I'd postpone the new version of the library supporting the garage opener. I'll keep you posted anyways!

from merossiot.

coolguymatt avatar coolguymatt commented on August 28, 2024

Thanks!

from merossiot.

albertogeniola avatar albertogeniola commented on August 28, 2024

Hi @coolguymatt ,
latest version of the library 3 (506cc12, 0.3.0.0b2) is now including support for MSG100, would you mind testing it?

from merossiot.

coolguymatt avatar coolguymatt commented on August 28, 2024

Is there a script I can use to test it out? I was using the Home Assistant component but I can't seem to get it to load with the newer library.

from merossiot.

albertogeniola avatar albertogeniola commented on August 28, 2024

Hi @coolguymatt ,
I've spent some time to fix last things about the MSG100, it should now work as expected.
To test it, update your library as follows:

pip install meross_iot==0.3.0.0rc2

Then, you could use this script to test your garage opener. I'd ask you to have a look at the garage door while testing this library. In this way we are 100% sure the library is working as expected.

Rember to update MEROSS_USERNAME and MEROSS_PASSWORD before running this script.

from meross_iot.manager import MerossManager
from meross_iot.meross_event import MerossEventType

MEROSS_USERNAME = "YOUR_EMAIL_HERE"
MEROSS_PASSWORD = "YOUR_PASSWORD_HERE"


def event_handler(eventobj):
    if eventobj.event_type == MerossEventType.GARAGE_DOOR_STATUS:
        print("Garage door is now %s. Please go check!" % eventobj.door_state)


if __name__ == '__main__':
    manager = MerossManager(MEROSS_USERNAME, MEROSS_PASSWORD)
    manager.register_event_handler(event_handler)

    print("Starting the manager...")
    manager.start()

    # Filter MSG100 devices
    devices = manager.get_devices_by_type("msg100")
    if len(devices)==0:
        print("Sorry, I was unable to find any MSG100 associated with this account")

    print("Which MSG100 device would you like to control?")
    for i, v in enumerate(devices):
        print("[%d] %s (online: %s)" % (i, v.name, v.online))

    selection = input(">")

    index = -1
    try:
        index = int(selection.strip())
        if index < 0 or index >= len(devices):
            raise ValueError()
    except ValueError:
        print("Invalid selection.")
        exit(1)

    # Make sure the device is online
    selection = devices[index]
    if not selection.online:
        print("Cannot control this device, because it is offline.")
        exit(2)

    # Time to control the device
    print("-------- Controlling device %s --------" % selection)
    while True:
        try:
            print("Commands: o(pen), c(lose), q(uit)")
            command = input("Your selection: ")

            normalized = command.strip()[0].lower()
            if command == 'o':
                selection.open_door()
            elif command == 'c':
                selection.close_door()
            elif command == 'q':
                break

        except KeyboardInterrupt:
            break

    manager.stop()
    print("Bye!")

I really can't wait to get your feedback!

from merossiot.

coolguymatt avatar coolguymatt commented on August 28, 2024

Worked perfectly! Opened and closed without issue.

from merossiot.

albertogeniola avatar albertogeniola commented on August 28, 2024

Awsome. Thank you so much for your help. Enjoy!

from merossiot.

Apollon77 avatar Apollon77 commented on August 28, 2024

@albertogeniola i try to implement it in iobroker. Can you give me one example how the command needs to look or what to set as uuid?

from merossiot.

albertogeniola avatar albertogeniola commented on August 28, 2024

Hi Apollon,
I wrote some documentation about that, but I cannot provide support for your need I am sorry.

from merossiot.

Apollon77 avatar Apollon77 commented on August 28, 2024

do you have a link to the docu?

from merossiot.

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.