Git Product home page Git Product logo

homebridge-meross's Introduction

Hey 👋

For more information about me, please visit my sponsor page.

homebridge-meross's People

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  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  avatar

homebridge-meross's Issues

Issue with Meross MSS210 plugs

Describe Your Problem:
I have connected four Meross MSS210 plugs to the Meross app on iOS. I have sniffed the sign, timestamp and message ID using HTTP Catcher, and input the values. However, I get the following error in the log, and the switch is unresponsive.

Logs:
[18/12/2020, 15:56:47] [Bedside Lamp] calling getOnCharacteristicHandler for MSS210 at 192.168.1.158...
[18/12/2020, 15:56:47] [Bedside Lamp] Failed to POST to the Meross Device MSS210 at 192.168.1.158: Error: socket hang up
at connResetException (internal/errors.js:617:14)
at Socket.socketOnEnd (_http_client.js:493:23)
at Socket.emit (events.js:327:22)
at endReadableNT (_stream_readable.js:1327:12)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
code: 'ECONNRESET'
}
[18/12/2020, 15:56:47] [Bedside Lamp] Retrieved status unsuccessfully.
[18/12/2020, 15:56:47] [Bedside Lamp] getOnCharacteristicHandler: false
[18/12/2020, 15:56:50] [Bedside Lamp] calling getOnCharacteristicHandler for MSS210 at 192.168.1.158...
[18/12/2020, 15:56:50] [Bedside Lamp] Failed to POST to the Meross Device MSS210 at 192.168.1.158: Error: socket hang up
at connResetException (internal/errors.js:617:14)
at Socket.socketOnEnd (_http_client.js:493:23)
at Socket.emit (events.js:327:22)
at endReadableNT (_stream_readable.js:1327:12)
at processTicksAndRejections (internal/process/task_queues.js:80:21) {
code: 'ECONNRESET'
}
[18/12/2020, 15:56:50] [Bedside Lamp] Retrieved status unsuccessfully.
[18/12/2020, 15:56:50] [Bedside Lamp] getOnCharacteristicHandler: false

Homebridge Config:
{
"bridge": {
"name": "Homebridge ",
"username": "
",
"port": ,
"pin": "
-
-
*"
},
"accessories": [
{
"model": "MSS210",
"name": "Bedside Lamp",
"deviceUrl": "IP",
"channel": 0,
"messageId": "messageIDsnooped",
"timestamp": *****TS,
"sign": "****sign",
"accessory": "Meross"
}
],

Support for MSS210 Plug

Hey!
i tried to configure my meros mss210 plug,
however it fails to post, i sniffed all the information required, yet no success, has meross closed their API?
Thanks!

Support for Smart Wi-Fi Garage Door Opener (MSG100)

I have a Meross Smart Wi-Fi Garage Door Opener. It would be tops if you were able to extend this plug-in to work with it :) I played around with various settings but haven't had much luck. I've dumped out the network traffic that is sent from the iOS app when you trigger an open and close.

Open Garage Door
{
"header": {
"messageId": "xyz",
"namespace": "Appliance.GarageDoor.State",
"triggerSrc": "iOS",
"method": "SETACK",
"payloadVersion": 1,
"from": "/appliance/xyz/publish",
"timestamp": xyz,
"timestampMs": xyz,
"sign": "xyz"
},
"payload": {
"state": {
"channel": 0,
"open": 0,
"lmTime": xyz,
"execute": 1
}
}
}

Close Garage Door
"header": {
"messageId": "xyz",
"namespace": "Appliance.GarageDoor.State",
"triggerSrc": "iOS",
"method": "SETACK",
"payloadVersion": 1,
"from": "/appliance/xyz/publish",
"timestamp": xyz,
"timestampMs": xyz,
"sign": "xyz"
},
"payload": {
"state": {
"channel": 0,
"open": 1,
"lmTime": xyz,
"execute": 1
}
}
}

Beta Testing for v3.0.0

3.0.0 (2020-09-**)

Version 3.0.0

Changes

  • Converted Project to Typescript.

To Install:

sudo npm install -g --unsafe-perm homebridge-meross@beta

To Revert:

sudo npm install -g --unsafe-perm homebridge-meross@latest

homebridge reboot continuously after set meross mss310

Describe Your Problem:
homebridge reboot continuously after set meross mss310 and activate the plug in. Also in the HomeKit App all devices i have installed with HomeBridge doesn't work. if i set wrong the ip of meross other devices works fine but not the meross smart plug.
Can you help me please? Am I doing something wrong?
Thanks for support

Logs:

[15/11/2020, 14:32:47] [Luce piante] calling getOnCharacteristicHandler for MSS310 at 192.168.99.8...
[15/11/2020, 14:32:47] TypeError: Cannot read property 'togglex' of undefined
    at Meross.getOnCharacteristicHandler (/usr/local/lib/node_modules/homebridge-meross/index.js:297:41)
    at processTicksAndRejections (node:internal/process/task_queues:93:5)`

Homebridge Config:

{
    "bridge": {
        "name": "Homebridge A281",
        "username": "0E:B5:F0:9A:A2:81",
        "port": 51952,
        "pin": "784-28-894"
    },
    "accessories": [
        {
            "model": "MSS310",
            "name": "Luce piante",
            "deviceUrl": "192.168.99.8",
            "channel": 0,
            "messageId": "ba192b6ef6d1672757b10c87364d802d",
            "timestamp": 1605445877,
            "sign": "780e655e5fe04f2c3c6276e8cf65cbbe",
            "accessory": "Meross"
        }
    ],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        },
        {
            "name": "HarmonyHub",
            "hubIP": "192.168.99.10",
            "publishAllTVAsExternalAccessory": false,
            "TVAccessory": true,
            "configureAccesscontrol": false,
            "mainActivity": "Sky",
            "activitiesToPublishAsInputForTVMode": [
                "Sky",
                "Apple TV",
                "Netflix",
                "Infinity",
                "Plex",
                "TimVision"
            ],
            "playPauseBehavior": false,
            "remoteOverrideCommandsList": [
                {
                    "ActivityName": "Alza il volume",
                    "CommandsList": [
                        {
                            "CommandName": "VOLUME_DOWN",
                            "NewCommand": "PioneerAVReceiver;VolumeDown"
                        },
                        {
                            "CommandName": "VOLUME_UP",
                            "NewCommand": "PioneerAVReceiver;VolumeUp"
                        }
                    ]
                }
            ],
            "switchAccessories": false,
            "publishGeneralMuteSwitch": false,
            "publishGeneralVolumeSlider": false,
            "publishGeneralVolumeSwitches": false,
            "linkVolumeControlToTV": false,
            "publishSwitchActivitiesAsIndividualAccessories": false,
            "devicesToPublishAsAccessoriesSwitch": [
                "Pioneer AV Receiver VolumeUp",
                "Pioneer AV Receiver VolumeDown "
            ],
            "showCommandsAtStartup": false,
            "platform": "HarmonyHubWebSocket"
        },
        {
            "username": "[email protected]",
            "password": "virusss84!",
            "countryCode": "IT",
            "devices": [
                {
                    "ipAddress": "192.168.99.71",
                    "serialNumber": "VW3-EU-NHA0964A",
                    "enableAutoModeWhenActivating": true,
                    "enableOscillationWhenActivating": true,
                    "isNightModeEnabled": true,
                    "isJetFocusEnabled": true,
                    "isContinuousMonitoringEnabled": true,
                    "isTemperatureSensorEnabled": true,
                    "isHumiditySensorEnabled": true,
                    "isAirQualitySensorEnabled": true,
                    "isSingleSensorAccessoryModeEnabled": true,
                    "isSingleAccessoryModeEnabled": true,
                    "isFullRangeHumidity": true
                }
            ],
            "platform": "DysonPureCoolPlatform"
        }
    ]
}

Screenshots:

Environment:

  • Node.js Version: v14.15.0
  • NPM Version: v6.14.8
  • Homebridge Version: 1.2.3
  • Homebridge Meross Plugin Version v3.2.0:
  • Homebridge Config UI X Plugin Version v4.33.0:
  • Operating System: Raspbian

MSS310 issue --> continuing "Set failed: false"

retrieved all relevant data using http catcher. Plug is visible but cannot be switched on/off via homebridge. Error: Set failed: false

To Reproduce:

  • run http cacher and start collecting data
  • open Meross app
  • switch on MSS310 plug in meross app
  • stop collecting data in http catcher
  • retrieve messageID, timestamp and sign from JSON response
  • input data in meross-homebridge plugin via form
  • save
  • restart homebridge
  • Meross Plug visibile in homebridge but switching on/off only prompts Error: Set failed: false

Expected behavior:

switch MSS310 plug on/off via homebridge

Logs:

Show the Homebridge logs here. If using Homebridge Config-UI-X, you can easly downlaod your log by visiting the log page on the UI and Clicking the Download Icon in the top right.
Remove any sensitive information, such as yourhomebridge-meross timestamp / sign / messageId / deviceUrl.

Please Turn on Debug Mode before submitting your Issue so more logs can be shared to fix the issue being submitted.

Homebridge Config:

Paste your homebridge config.json here.
Remove any sensitive information, such as your homebridge-meross timestamp / sign / messageId / deviceUrl.

    "accessories": [
        {
            "accessory": "Meross",
            "channel": 0,
            "deviceUrl": "192.168.178.47",
            "model": "MSS310",
            "name": "Tiffy",
            "serialNumber": "*******************",
            "messageId": "*******************",
            "timestamp": *******************,
            "sign": "*******************",
            "hardwareVersion": "1.0.0",
            "firmwareRevision": "1.1.18"
        }
    ],

***Read and Paste over this Text the Text Above^^^^^^

Screenshots:

Environment:

  • Node.js Version: v14.15.1
  • NPM Version: 6.14.8
  • Homebridge Version: HOOBS 3 Version | 3.3.1
  • Homebridge Meross Plugin Version: 3.4.1
  • Homebridge Config UI X Plugin Version:
  • Operating System: Raspbian Release 10, Kernel 5.4.72-v7l+

Add support for changing Outlets to Lights

I have a number of MSS210 plug adapters that I use to control lights (table lamps etc) around the house.
While it's possible to change the type of device within the Home app, it would be great to be able to override the default service type when creating the accessory within Homebridge.

Support on/off for each sockets

My Meross have 4 sockets, the meross can support turn each one on or off, can homebridge can do it? This is very useful to control every device in homekit.

Add Support for Meross MRC210 Fan Controller

The Meross MRC210 is a multiple ceiling fan controller compatible with a variety of ceiling fans.
I can see my HVAC fans come on in HomeKit and I would like to be able to add automation to make the ceiling fans turn on automatically to assist them. Unfortunately the MRC210 seems to be the one Meross product that is not yet supported by this cool plugin.

No data to sniff

Describe Your Problem:
Plug MSS210. I can't sniff the MessageID etc from HTTP Catcher... I see only a connection to the Meross server...
The procedure was changed?
thanks a lot

Action required: Greenkeeper could not be activated 🚨

🚨 You need to enable Continuous Integration on Greenkeeper branches of this repository. 🚨

To enable Greenkeeper, you need to make sure that a commit status is reported on all branches. This is required by Greenkeeper because it uses your CI build statuses to figure out when to notify you about breaking changes.

Since we didn’t receive a CI status on the greenkeeper/initial branch, it’s possible that you don’t have CI set up yet.
We recommend using:

If you have already set up a CI for this repository, you might need to check how it’s configured. Make sure it is set to run on all new branches. If you don’t want it to run on absolutely every branch, you can whitelist branches starting with greenkeeper/.

Once you have installed and configured CI on this repository correctly, you’ll need to re-trigger Greenkeeper’s initial pull request. To do this, please click the 'fix repo' button on account.greenkeeper.io.

Android Credential

Describe the solution you'd like

Hello !
Is there a solution to obtain crendential via an Android smartphone ?
thank's

Does this plugin support the Meross MSS560 US dimmer switch?

I tried setting up the Meross plugin using the Charles app but I can't get Homebridge to recognize the MSS560 US switch. Here is what the config-ui-x logs say:

[Pantry Switch] Failed to POST to the Meross Plug: Error: Invalid URI "192.168.1.87/config"
    at Request.init (/usr/local/lib/node_modules/homebridge-meross/node_modules/request/request.js:273:31)
    at new Request (/usr/local/lib/node_modules/homebridge-meross/node_modules/request/request.js:127:8)
    at request (/usr/local/lib/node_modules/homebridge-meross/node_modules/request/index.js:53:10)
    at /usr/local/lib/node_modules/homebridge-meross/index.js:9:5
    at new Promise (<anonymous>)
    at doRequest (/usr/local/lib/node_modules/homebridge-meross/index.js:8:10)
    at MerossPlug.getOnCharacteristicHandler (/usr/local/lib/node_modules/homebridge-meross/index.js:175:24)
    at Characteristic.On.emit (events.js:223:5)
    at Characteristic.On.Characteristic.getValue (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Characteristic.js:164:10)
    at Bridge.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:771:20)
    at Array.forEach (<anonymous>)
    at Bridge.Accessory._handleGetCharacteristics (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:735:8)
    at HAPServer.emit (events.js:223:5)
    at HAPServer._handleCharacteristics (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:928:10)
    at HAPServer.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/HAPServer.js:209:39)
    at IncomingMessage.emit (events.js:223:5)
    at endReadableNT (_stream_readable.js:1185:12)
    at processTicksAndRejections (internal/process/task_queues.js:81:21)
[1/31/2020, 2:53:42 PM] [Pantry Switch] Retrieved status unsuccessfully.
[1/31/2020, 2:53:42 PM] [Pantry Switch] calling getOnCharacteristicHandler: false

Unable to setup my smart outlet

Describe Your Problem:
I cannot seem to get my smart plug to work i get a whole bunch of weird messages in the log that i have no clue what they mean and ive tried just about everything that i know so im hoping someone can help me here

Screen Shot 2020-10-25 at 1 18 58 AM

its the same message over and over again just with increasing numbers at the end of each line (rejection id: 3 then 4 then 5 etc)

Show the Homebridge logs here. If using Homebridge Config-UI-X, you can easly downlaod your log by visiting the log page on the UI and Clicking the Download Icon in the top right.
Remove any sensitive information, such as yourhomebridge-meross timestamp / sign / messageId / deviceUrl.

Please Turn on Debug Mode before submitting your Issue so more logs can be shared to fix the issue being submitted.

***Read and Paste over this Text the Text Above^^^^^^

Homebridge Config:

Paste your homebridge config.json here.
Remove any sensitive information, such as your homebridge-meross timestamp / sign / messageId / deviceUrl.

***Read and Paste over this Text the Text Above^^^^^^

Screenshots:

Environment:

  • Node.js Version: <!-- node -v -→ v12.19.0
  • NPM Version: <!-- npm -v -→ v6.14.8
  • Homebridge Version: <!-- homebridge -V -→ v1.2.3
  • Homebridge Meross Plugin Version: v3.2.0
  • Homebridge Config UI X Plugin Version: v4.30.0
  • Operating System: <!-- Raspbian / Ubuntu / Debian / Windows / macOS / Docker -→ Debian

Add support Smart WiFi Humidifier MSXH0

Hello
Can you tell me if you work on adds of Smart WiFi Humidifier MSXH0 ?

Thanks a lot !
Have a nice day

Describe Your Problem:

Logs:

Show the Homebridge logs here.
Remove any sensative information.

Homebridge Config:

Show your homebridge config.json here. 
Remove any sensitive information, such as your homebridge-gsh / google-smarthome token.

Screenshots:

Environment:

  • Node.js Version:
  • NPM Version:
  • Homebridge Version:
  • Homebridge GSH Plugin Version:
  • Homebridge Config UI X Plugin Version:
  • Operating System:

Mss310 error

Hi, I cant get my mss310 working.

My config is:

"accessories": [
{
"model": "MSS310",
"name": "Meross Switch",
"deviceUrl": "192.168.1.221",
"channel": 0,
"messageId": "1e28b96dd4e627b74ef96af0056da81d",
"timestamp": 1589656230,
"sign": "8d4fa1494ce548cd2c432483bff2d2f6",
"accessory": "Meross"
}

I have extracted the values ​​with the HTTP Catcher, but i get this error:

calling getOnCharacteristicHandler for MSS310 at 192.168.1.221...
(node:7160) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'togglex' of undefined
at Meross.getOnCharacteristicHandler (/homebridge/node_modules/homebridge-meross/index.js:297:41)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:7160) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:7160) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

What I can do? Thank you

Add support for MSS570x dimmer switch

Would it be possible to add support for Meross MSS570x 3 way smart dimmer switch? The current version works for my light switch but does not support the dimming function. Really appreciate your work on this and happy to contribute how I can!

Add Support for Smart Wi-Fi LED Bulb with Dimmable Light MSL100

Hello, I'd like to help adding this LED Bulb.
I'm not good at programming stuff, but I can provide the logs and help with testing. It seems to be similar to other light bulbs.

Turning on and off.

{
  "payload" : {
    "togglex" : {
      "onoff" : 1,
      "channel" : 0
    }
  },
  "header" : {
    "messageId" : "XXXXXX",
    "method" : "SET",
    "from" : "http:\/\/XXXXXX\/config",
    "payloadVersion" : 1,
    "namespace" : "Appliance.Control.ToggleX",
    "sign" : "XXXXXX",
    "triggerSrc" : "iOS",
    "timestamp" : XXXXXX
  }
}

{
  "payload" : {
    "togglex" : {
      "onoff" : 0,
      "channel" : 0
    }
  },
  "header" : {
    "messageId" : "XXXXXX",
    "method" : "SET",
    "from" : "http:\/\/XXXXXX\/config",
    "payloadVersion" : 1,
    "namespace" : "Appliance.Control.ToggleX",
    "sign" : "XXXXXX",
    "triggerSrc" : "iOS",
    "timestamp" : XXXXXX
  }
}

Changing the luminance. It changes in range from 1 to 100. Not sure what capacity does, but it doesn't change.

{
  "payload" : {
    "light" : {
      "channel" : 0,
      "luminance" : 1,
      "capacity" : 4
    }
  },
  "header" : {
    "messageId" : "XXXXXX",
    "method" : "SET",
    "from" : "http:\/\/XXXXXX\/config",
    "payloadVersion" : 1,
    "namespace" : "Appliance.Control.Light",
    "sign" : "XXXXXX",
    "triggerSrc" : "iOS",
    "timestamp" : XXXXXX
  }
}

{
  "payload" : {
    "light" : {
      "channel" : 0,
      "luminance" : 100,
      "capacity" : 4
    }
  },
  "header" : {
    "messageId" : "XXXXXX",
    "method" : "SET",
    "from" : "http:\/\/XXXXXX\/config",
    "payloadVersion" : 1,
    "namespace" : "Appliance.Control.Light",
    "sign" : "XXXXXX",
    "triggerSrc" : "iOS",
    "timestamp" : XXXXXX
  }
}

Support for MSS420F

Does this support the mss420f power strip?
I tried but could not get it to work.

Outdoor Plug mss620

Hello!

In setting up this plugin today I was able to connect my garage door very easily, however I ran into an issue with my outdoor plug mss620. Specifically, the HomeBridge error is:

TypeError: Cannot read property 'onoff' of undefined
    at Meross.getOnCharacteristicHandler (/usr/local/lib/node_modules/homebridge-meross/src/index.ts:513:87)
    at processTicksAndRejections (node:internal/process/task_queues:93:5)

Config

"bridge": {
        "name": "Homebridge ****",
        "username": "**:**:**:**:**:**",
        "port": 51346,
        "pin": "***-**-***"
    },
    "accessories": [
        {
            "model": "MSG100",
            "name": "Garage Door",
            "deviceUrl": "192.168.1.254",
            "channel": 0,
            "messageId": "*******************************",
            "timestamp": *********,
            "sign": "********************************************",
            "garageDoorOpeningTime": 15,
            "accessory": "Meross"
        },
        {
            "model": "MSS620",
            "name": "Inflatable",
            "deviceUrl": "192.168.1.253",
            "channel": 1,
            "messageId": "*******************************",
            "timestamp": *******************************,
            "sign": "*******************************",
            "accessory": "Meross"
        },
        {
            "model": "MSS620",
            "name": "Christmas Lights",
            "deviceUrl": "192.168.1.254",
            "channel": 2,
            "messageId": "*******************************",
            "timestamp": *******************************,
            "sign": "*******************************",
            "accessory": "Meross"
        }
    ],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "auth": "form",
            "theme": "auto",
            "tempUnits": "f",
            "lang": "auto",
            "platform": "config"
        }
    ]
}

Any idea where I should start looking?

Thanks in advance!

MSS-425F - How to setup multiple Outlets

Hello, all work well but just 1 switch appear in homekit vs 5 physical differents plugs.
Understanding that there are 5 different channels but how can add the other 4?

image

Support for mss530h

Describe the solution you'd like
Are there any plans for supporting the mss530h? Its the 3-gang Switch. Im using a few of them.

Connecting to Meross

Hi,

i am very new at homebridge.
I have some issues to control my meross wifi plug.

"accessories": [
{
"name": "WLAN Steckdose",
"deviceUrl": "http:// 192.168.0.44", //this is correct
"hardwareVersion": 2, //where to find?
"channel": 2, // my wifi plug has 2 sockets, is this here requested?
"messageId": "xxxxx",// I dont know where to find
"timestamp": xxx, // I dont know where to find
"sign": "xxxx", // I dont know where to find
"accessory": "Meross"
}

I have got a whireshark trace while meross is creating its own wifi net (IP 10.10.10.1) where is the information in the trace i need to connect to the plug correctly?

Thanks for help


Frame 11: 590 bytes on wire (4720 bits), 590 bytes captured (4720 bits) on interface en0, id 0
Interface id: 0 (en0)
Encapsulation type: Ethernet (1)
Arrival Time: Jan 24, 2020 23:07:30.497736000 CET
[Time shift for this packet: 0.000000000 seconds]
Epoch Time: 1579903650.497736000 seconds
[Time delta from previous captured frame: 0.005067000 seconds]
[Time delta from previous displayed frame: 0.005067000 seconds]
[Time since reference or first frame: 0.362533000 seconds]
Frame Number: 11
Frame Length: 590 bytes (4720 bits)
Capture Length: 590 bytes (4720 bits)
[Frame is marked: False]
[Frame is ignored: False]
[Protocols in frame: eth:ethertype:ip:udp:dhcp]
[Coloring Rule Name: UDP]
[Coloring Rule String: udp]
Ethernet II, Src: ChengduM_51:ce:45 (48:e1:e9:51:ce:45), Dst: Broadcast (ff:ff:ff:ff:ff:ff)
Destination: Broadcast (ff:ff:ff:ff:ff:ff)
Source: ChengduM_51:ce:45 (48:e1:e9:51:ce:45)
Type: IPv4 (0x0800)
Internet Protocol Version 4, Src: 10.10.10.1, Dst: 255.255.255.255
0100 .... = Version: 4
.... 0101 = Header Length: 20 bytes (5)
Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
0000 00.. = Differentiated Services Codepoint: Default (0)
.... ..00 = Explicit Congestion Notification: Not ECN-Capable Transport (0)
Total Length: 576
Identification: 0x003e (62)
Flags: 0x0000
0... .... .... .... = Reserved bit: Not set
.0.. .... .... .... = Don't fragment: Not set
..0. .... .... .... = More fragments: Not set
...0 0000 0000 0000 = Fragment offset: 0
Time to live: 255
Protocol: UDP (17)
Header checksum: 0xa564 [validation disabled]
[Header checksum status: Unverified]
Source: 10.10.10.1
Destination: 255.255.255.255
User Datagram Protocol, Src Port: 67, Dst Port: 68
Source Port: 67
Destination Port: 68
Length: 556
Checksum: 0x008c [unverified]
[Checksum Status: Unverified]
[Stream index: 3]
[Timestamps]
[Time since first frame: 0.000000000 seconds]
[Time since previous frame: 0.000000000 seconds]
Dynamic Host Configuration Protocol (ACK)
Message type: Boot Reply (2)
Hardware type: Ethernet (0x01)
Hardware address length: 6
Hops: 0
Transaction ID: 0x78f65cdf
Seconds elapsed: 0
Bootp flags: 0x0000 (Unicast)
Client IP address: 0.0.0.0
Your (client) IP address: 10.10.10.2
Next server IP address: 0.0.0.0
Relay agent IP address: 0.0.0.0
Client MAC address: Apple_bb:42:85 (48:d7:05:bb:42:85)
Client hardware address padding: 00000000000000000000
Server host name not given
Boot file name not given
Magic cookie: DHCP
Option: (53) DHCP Message Type (ACK)
Length: 1
DHCP: ACK (5)
Option: (58) Renewal Time Value
Length: 4
Renewal Time Value: (32400s) 9 hours
Option: (59) Rebinding Time Value
Length: 4
Rebinding Time Value: (56700s) 15 hours, 45 minutes
Option: (51) IP Address Lease Time
Length: 4
IP Address Lease Time: (64800s) 18 hours
Option: (54) DHCP Server Identifier (10.10.10.1)
Length: 4
DHCP Server Identifier: 10.10.10.1
Option: (1) Subnet Mask (255.255.255.0)
Length: 4
Subnet Mask: 255.255.255.0
Option: (28) Broadcast Address (255.255.255.255)
Length: 4
Broadcast Address: 255.255.255.255
Option: (3) Router
Length: 4
Router: 10.10.10.1
Option: (6) Domain Name Server
Length: 4
Domain Name Server: 10.10.10.1
Option: (255) End
Option End: 255
Padding: 000000000000000000000000000000000000000000000000…

I have a problem with my Meross mss 710

I can only switch the light on and not off :/. I have an mss 710 smart switch to turn on and off my light with the Meross app. I have it already in the home bridge and also HomeKit but I can switch the light on but not off.

The Homeride shows:

!-- [11/20/2020, 2:41:26 AM] [Licht Küche Ein] Failed to POST to the Meross Device MSS710 at "IP ADRESS": Error: connect ECONNREFUSED "IP ADRESS". -->

Can't configure my 2 Meross MSS310

Hi
I recently installed Homebridge-Meros (v2.3.0) and I'm trying to do the setup for my 2 plugs.
The Wiki is a bit unclear to me.

  • Because it's not clear to me if I have to use both HTTP Catcher AND Charles to collect the data or if using just one of the two if enough ?

  • First I used HTTP catcher to gather those 3 fields, messageId, timestamp & sign .... but here already a problem because for a single power on on a plug (in the MEROSS app) .. HTTP catcher is grabbing several posts, having all "/config 200 application/json" but when opening them they have all different informations for "messageId, timestamp & sign" so I don't understand why those differences in data and also which is the good one to select ? So I just randomly pick up data out of one of the post and used them in the Hombrige-Meross config. On top, I added 2 additional parameter "version" and "innerIp" ... but not OK and erros in the log (see below)

-Second, I used Charlie (on MAC) to grab the required information .. (got again different values for messageId, timestamp & sign) to but same result at the end , errors

My config :

{
"model": "MSS310",
"name": "MEROSS 1",
"deviceUrl": "192.168.1.161",
"channel": 0,
"messageId": "f67b3fb76156........d08239bc027dee",
"timestamp": 1594374788,
"sign": "a92dcc56b1eb14........f03790b74384",
"accessory": "Meross",
"version": "1.0.0",
"innerIp": "192.168.1.161"
},
{
"model": "MSS310",
"name": "MEROSS 2",
"deviceUrl": "192.168.1.162",
"channel": 0,
"messageId": "04da0d2e4070......f1f81ca5cd729",
"timestamp": 1594374790,
"sign": "d287ad92d09e......a253cf8f6f2b",
"accessory": "Meross",
"version": "1.0.0",
"innerIp": "192.168.1.162"
}

Errors

(node:1155) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'togglex' of undefined
at Meross.getOnCharacteristicHandler (/usr/local/lib/node_modules/homebridge-meross/index.js:327:41)
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:1155) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 5)
(node:1155) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'togglex' of undefined
at Meross.getOnCharacteristicHandler (/usr/local/lib/node_modules/homebridge-meross/index.js:327:41)
at process._tickCallback (internal/process/next_tick.js:68:7)
(node:1155) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 6)
[7/10/2020, 12:14:35 PM] [MEROSS 1] Set failed: false
[7/10/2020, 12:14:38 PM] [MEROSS 2] Set failed: false

Thanks for your help

Eugène

Meross Cloud Support - Alpha Testers Needed

Describe the solution you'd like

Meross cloud support so that devices are automatically added when added to meross account.

Describe alternatives you've considered

If you would rather see local support stay and create a different plugin please let me know.

Additional context

Needing Alpha testers, so that I can get more device responses so that it is easier to add support for other devices, since I only have 1 meross outlet.

You will need to install homebridge-meross-cloud, easiest way is through Homebridge UI:

Screen Shot 2020-12-27 at 1 46 39 PM

meross MSG 100

i need some help to find some information to setup the plugin

where or how can i found :
message ID
TimeStamp
Sign

for a meross MSG 100

MSL320CHK support

Is your feature request related to a problem? Please describe.
The MSL320CHK is perfectly working as an Outlet, I can switch it on and off. So, no problem so far.

Describe the solution you'd like
I'd like to see this plugin to control the MSL320CHK as a lightbulb or LED stripe, i.e. color, brightness, etc. should be controllable.

Describe alternatives you've considered
No idea, sorry.

Additional context
I was perfectly able to get the Credential defaults with the App HTTP Catcher. However, I did not need to install Charles or any other proxy, I got all the credential info from the response headers inside HTTP Catcher.

Changes at switch can take several minutes to reflect in Homebridge

Describe The Bug:

Changes to a Meross electrical switch state at the wall can take several minutes to be reflected in Homebridge, if they ever are automatically reflected, so any automations which are triggering off of these state changes are similarly delayed. Triggering a polling event by requesting the Homebridge accessory page or triggering a change with a Meross accessory updates the status, but this should not be required.

To Reproduce:

  1. Locate Meross switch status in Homebridge accessories
  2. Change switch state from the wall
  3. Check and recheck switch status every minute for several minutes in a row in the Homebridge Accessories screen — but do so without reloading the Accessories screen, as this may trigger a status retrieval.
  4. After several minutes change the status of a different Meross switch from the Homebridge Accessories screen. This will update the status of the switch changed in step 2, above.

Expected behavior:

Changes to switch state reflected in less than one minute without needing interaction with any other switch or Meross accessory.

Logs:

This log is significantly truncated for readability.

[12/26/2020, 6:11:56 PM] [Back Porch] calling getOnCharacteristicHandler for MSS510 at 192.168.1.117...
[12/26/2020, 6:11:56 PM] [Hallway] calling getOnCharacteristicHandler for MSS550 at 192.168.1.126...
[12/26/2020, 6:11:56 PM] [Back Porch] Retrieved status successfully:  0
[12/26/2020, 6:11:56 PM] [Back Porch] getOnCharacteristicHandler: 0
[12/26/2020, 6:11:56 PM] [Hallway] Retrieved status successfully:  0
[12/26/2020, 6:11:56 PM] [Hallway] getOnCharacteristicHandler: 0
[12/26/2020, 6:11:59 PM] [Back Porch] calling getOnCharacteristicHandler for MSS510 at 192.168.1.117...
[12/26/2020, 6:11:59 PM] [Hallway] calling getOnCharacteristicHandler for MSS550 at 192.168.1.126...
[12/26/2020, 6:11:59 PM] [Back Porch] Retrieved status successfully:  0
[12/26/2020, 6:11:59 PM] [Back Porch] getOnCharacteristicHandler: 0
[12/26/2020, 6:11:59 PM] [Hallway] Retrieved status successfully:  0
[12/26/2020, 6:11:59 PM] [Hallway] getOnCharacteristicHandler: 0
[12/26/2020, 6:12:18 PM] [Hallway] calling setOnCharacteristicHandler for MSS550 at 192.168.1.126...
[12/26/2020, 6:12:18 PM] [Hallway] Set succeeded: {
  header: {
    messageId: '<<REMOVED>>',
    namespace: 'Appliance.Control.ToggleX',
    method: 'SETACK',
    payloadVersion: 1,
    from: '/appliance/<<REMOVED>>/publish',
    timestamp: <<REMOVED>>,
    timestampMs: 320,
    sign: '<<REMOVED>>'
  },
  payload: {}
}
[12/26/2020, 6:12:18 PM] [Hallway] MSS550 turned On
[12/26/2020, 6:12:18 PM] [Hallway] setOnCharacteristicHandler: true
[12/26/2020, 6:12:18 PM] [Hallway] calling getOnCharacteristicHandler for MSS550 at 192.168.1.126...
[12/26/2020, 6:12:18 PM] [Hallway] Retrieved status successfully:  1
[12/26/2020, 6:12:18 PM] [Hallway] getOnCharacteristicHandler: 1
[12/26/2020, 6:12:20 PM] [Back Porch] calling getOnCharacteristicHandler for MSS510 at 192.168.1.117...
[12/26/2020, 6:12:20 PM] [Hallway] calling getOnCharacteristicHandler for MSS550 at 192.168.1.126...
[12/26/2020, 6:12:20 PM] [Back Porch] Retrieved status successfully:  0
[12/26/2020, 6:12:20 PM] [Back Porch] getOnCharacteristicHandler: 0
[12/26/2020, 6:12:20 PM] [Hallway] Retrieved status successfully:  0
[12/26/2020, 6:12:20 PM] [Hallway] getOnCharacteristicHandler: 0
[12/26/2020, 6:12:22 PM] [Hallway] calling setOnCharacteristicHandler for MSS550 at 192.168.1.126...
[12/26/2020, 6:12:22 PM] [Hallway] Set succeeded: {
  header: {
    messageId: '<<REMOVED>>',
    namespace: 'Appliance.Control.ToggleX',
    method: 'SETACK',
    payloadVersion: 1,
    from: '/appliance/<<REMOVED>>/publish',
    timestamp: <<REMOVED>>,
    timestampMs: 407,
    sign: '<<REMOVED>>'
  },
  payload: {}
}
[12/26/2020, 6:12:22 PM] [Hallway] MSS550 turned On
[12/26/2020, 6:12:22 PM] [Hallway] setOnCharacteristicHandler: true
[12/26/2020, 6:12:22 PM] [Hallway] calling getOnCharacteristicHandler for MSS550 at 192.168.1.126...
[12/26/2020, 6:12:22 PM] [Hallway] Retrieved status successfully:  0
[12/26/2020, 6:12:22 PM] [Hallway] getOnCharacteristicHandler: 0
[12/26/2020, 6:12:24 PM] [Back Porch] calling getOnCharacteristicHandler for MSS510 at 192.168.1.117...
[12/26/2020, 6:12:24 PM] [Hallway] calling getOnCharacteristicHandler for MSS550 at 192.168.1.126...
[12/26/2020, 6:12:24 PM] [Back Porch] Retrieved status successfully:  0
[12/26/2020, 6:12:24 PM] [Back Porch] getOnCharacteristicHandler: 0
[12/26/2020, 6:12:24 PM] [Hallway] Retrieved status successfully:  1
[12/26/2020, 6:12:24 PM] [Hallway] getOnCharacteristicHandler: 1
[12/26/2020, 6:23:11 PM] [Back Porch] calling setOnCharacteristicHandler for MSS510 at 192.168.1.117...
[12/26/2020, 6:23:11 PM] [Back Porch] Set succeeded: {
  header: {
    messageId: '<<REMOVED>>',
    namespace: 'Appliance.Control.ToggleX',
    method: 'SETACK',
    payloadVersion: 1,
    from: '/appliance/<<REMOVED>>/publish',
    timestamp: <<REMOVED>>,
    timestampMs: 409,
    sign: '<<REMOVED>>'
  },
  payload: {}
}
[12/26/2020, 6:23:11 PM] [Back Porch] MSS510 turned On
[12/26/2020, 6:23:11 PM] [Back Porch] setOnCharacteristicHandler: true
[12/26/2020, 6:23:11 PM] [Back Porch] calling getOnCharacteristicHandler for MSS510 at 192.168.1.117...
[12/26/2020, 6:23:11 PM] [Back Porch] Retrieved status successfully:  1
[12/26/2020, 6:23:11 PM] [Back Porch] getOnCharacteristicHandler: 1
[12/26/2020, 6:23:13 PM] [Back Porch] calling getOnCharacteristicHandler for MSS510 at 192.168.1.117...
[12/26/2020, 6:23:13 PM] [Hallway] calling getOnCharacteristicHandler for MSS550 at 192.168.1.126...
[12/26/2020, 6:23:14 PM] [Back Porch] Retrieved status successfully:  1
[12/26/2020, 6:23:14 PM] [Back Porch] getOnCharacteristicHandler: 1
[12/26/2020, 6:23:14 PM] [Hallway] Retrieved status successfully:  0
[12/26/2020, 6:23:14 PM] [Hallway] getOnCharacteristicHandler: 0
[12/26/2020, 6:23:18 PM] [Back Porch] calling setOnCharacteristicHandler for MSS510 at 192.168.1.117...
[12/26/2020, 6:23:19 PM] [Back Porch] Set succeeded: {
  header: {
    messageId: '<<REMOVED>>',
    namespace: 'Appliance.Control.ToggleX',
    method: 'SETACK',
    payloadVersion: 1,
    from: '/appliance/<<REMOVED>>/publish',
    timestamp: <<REMOVED>>,
    timestampMs: 500,
    sign: '<<REMOVED>>'
  },
  payload: {}
}
[12/26/2020, 6:23:19 PM] [Back Porch] MSS510 turned Off
[12/26/2020, 6:23:19 PM] [Back Porch] setOnCharacteristicHandler: false
[12/26/2020, 6:23:19 PM] [Back Porch] calling getOnCharacteristicHandler for MSS510 at 192.168.1.117...
[12/26/2020, 6:23:19 PM] [Back Porch] Retrieved status successfully:  0
[12/26/2020, 6:23:19 PM] [Back Porch] getOnCharacteristicHandler: 0
[12/26/2020, 6:23:20 PM] [Back Porch] calling getOnCharacteristicHandler for MSS510 at 192.168.1.117...
[12/26/2020, 6:23:20 PM] [Hallway] calling getOnCharacteristicHandler for MSS550 at 192.168.1.126...
[12/26/2020, 6:23:21 PM] [Back Porch] Retrieved status successfully:  0
[12/26/2020, 6:23:21 PM] [Back Porch] getOnCharacteristicHandler: 0
[12/26/2020, 6:23:21 PM] [Hallway] Retrieved status successfully:  0
[12/26/2020, 6:23:21 PM] [Hallway] getOnCharacteristicHandler: 0

Homebridge Config:

This config is significantly truncated for readability.

{
    "bridge": {
        "name": "Homebridge D562",
        "username": "<<REMOVED>>",
        "port": 51477,
        "pin": "<<REMOVED>>"
    },
    "accessories": [
        {
            "model": "MSS510",
            "name": "Back Porch",
            "deviceUrl": "192.168.1.117",
            "channel": 0,
            "messageId": "<<REMOVED>>",
            "timestamp": <<REMOVED>>,
            "sign": "<<REMOVED>>",
            "accessory": "Meross"
        },
        {
            "model": "MSS550",
            "name": "Hallway",
            "deviceUrl": "192.168.1.126",
            "channel": 0,
            "messageId": "<<REMOVED>>",
            "timestamp": <<REMOVED>>,
            "sign": "<<REMOVED>>",
            "accessory": "Meross"
        }
    ],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "auth": "none",
            "theme": "auto",
            "tempUnits": "f",
            "lang": "en",
            "platform": "config"
        }
    ]
}

Environment:

  • Node.js Version: v14.15.3
  • NPM Version: v6.14.10
  • Homebridge Version: v1.2.4
  • Homebridge Meross Plugin Version: homebridge-meross v3.4.1
  • Homebridge Config UI X Plugin Version: homebridge-config-ui-x v4.36.0
  • Operating System: macOS

Meross Power Strip (MSS420F) Not Working

This is the output I get from the Homebridge console logs

(node:838) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'digest' of undefined
    at Meross.getOnCharacteristicHandler (/usr/lib/node_modules/homebridge-meross/index.js:327:34)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:838) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 4)

My config is:

        {
            "model": "MSS420F",
            "name": "Meross Strip",
            "deviceUrl": "192.168.1.199",
            "channel": 0,
            "messageId": "69f51bd4a3cee4bb3a0c9df9b5",
            "timestamp": 1592957079,
            "sign": "ef7dbc1e630b7242376bbacea5e3c89",
            "accessory": "Meross"
        }

I'm using HTTP Catcher, it returns a valid 200 response.

I originally posted on Reddit regarding the power strip, sorry it took so long!

Meross MSS310 setup

Hi!

This is my config for a smart plug MSS310

{
"name": "presa",
"deviceUrl": "http://192.168.1.141",
"hardwareVersion": 1,
"channel": 0,
"messageId": "d8a5c2e967c923bd80014df179bbfb59",
"timestamp": 0,
"sign": "82aec8a0295bd874e12ab2c3f31f77",
"accessory": "Meross"
}

and this is the error I get

[Config] Failed to refresh characteristics for presa: socket hang up

node:346) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'control' of undefined
at MerossPlug.getOnCharacteristicHandler (/usr/lib/node_modules/homebridge-meross/index.js:203:44)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:346) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 1)
(node:346) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[4/24/2020, 8:50:46 PM] [Pihole] {"status":"enabled"}
(node:346) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'control' of undefined
at MerossPlug.getOnCharacteristicHandler (/usr/lib/node_modules/homebridge-meross/index.js:203:44)
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:346) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 2)

It doesn't retrieve the status nor works.

thanks

Error: Invalid URI

Hello,

I get the following error message when I try to configure the meross plug "mss310":

[4/12/2020, 11:25:27 AM] [Meross_device] Failed to POST to the Meross Plug: Error: Invalid URI "192.168.178.35/config"
    at Request.init (/usr/local/lib/node_modules/homebridge-meross/node_modules/request/request.js:273:31)
    at new Request (/usr/local/lib/node_modules/homebridge-meross/node_modules/request/request.js:127:8)
    at request (/usr/local/lib/node_modules/homebridge-meross/node_modules/request/index.js:53:10)
    at /usr/local/lib/node_modules/homebridge-meross/index.js:9:5
    at new Promise (<anonymous>)
    at doRequest (/usr/local/lib/node_modules/homebridge-meross/index.js:8:10)
    at MerossPlug.getOnCharacteristicHandler (/usr/local/lib/node_modules/homebridge-meross/index.js:175:24)
    at Characteristic.On.emit (events.js:310:20)
    at Characteristic.On.Characteristic.getValue (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Characteristic.js:164:10)
    at Bridge.<anonymous> (/usr/local/lib/node_modules/homebridge/node_modules/hap-nodejs/lib/Accessory.js:771:20)

This is the configuration:

{
            "name": "Meross_device",
            "deviceUrl": "192.168.178.35",
            "hardwareVersion": 2,
            "channel": 0,
            "messageId": "242afa8372dd827e10ee53de77fdfc35",
            "timestamp": 1586678958,
            "sign": "40f1117a6bf82cae9757915ff8a9a564",
            "accessory": "Meross"
        }

I got the informations from the Charles ios app.

Thanks in advance!

Flooding of commands

Describe The Bug:
If commands are being sent too quickly (for example a sequence of color changes), some sort of flood protection kicks in (in my case an LED stripe MSL320CHK) and the target device is no longer reachable until you stop the commands and then resume after a while.
So I've tried to capture some network packets using tshark with this command:
tshark -i wlan0 -T fields -e ip.addr -e mqtt.topic -E header=y -E separator=, > pcap_to_csv.csv
and one observation I was making:
Each time I've pressed my button, I got an entry with a valid src ip and dst ip between the raspberry pi and the Meross Device. However, when I operate the app and change properties on the Meross Device, I do not see anything in the network traffic that shows any contact from the iPhone to the Meross device directly.

To Reproduce:
Just fire commands quickly enough so that the Meross Device blocks you out.

Expected behavior:
No blocking occurs.

Logs:

2020-12-08T01:28:46.240Z mqttjs:client writable stream :: parsing buffer
2020-12-08T01:28:46.240Z mqtt-packet:parser parse: current state: _parseHeader
2020-12-08T01:28:46.241Z mqtt-packet:parser _parseHeader: packet: Packet { cmd: 'publish', retain: false, qos: 0, dup: false, length: -1, topic: null, payload: null }
2020-12-08T01:28:46.241Z mqtt-packet:parser parse: state complete. _stateCounter is now: 1
2020-12-08T01:28:46.241Z mqtt-packet:parser parse: packet.length: -1, buffer list length: 160
2020-12-08T01:28:46.242Z mqtt-packet:parser _parseVarByteNum
2020-12-08T01:28:46.242Z mqtt-packet:parser _parseVarByteNum: result: { bytes: 2, value: 158 }
2020-12-08T01:28:46.242Z mqtt-packet:parser _parseLength 158
2020-12-08T01:28:46.242Z mqtt-packet:parser parse: state complete. _stateCounter is now: 2
2020-12-08T01:28:46.243Z mqtt-packet:parser parse: packet.length: 158, buffer list length: 158
2020-12-08T01:28:46.251Z mqtt-packet:parser _parsePayload: payload BufferListStream {
  _bufs: [
    <Buffer 00 24 7a 69 67 62 65 65 32 6d 71 74 74 2f 4d 75 65 6c 6c 65 72 5f 4c 69 63 68 74 5f 43 6f 6e 74 72 6f 6c 6c 65 72 7b 22 61 63 74 69 6f 6e 22 3a 22 63 ... 108 more bytes>
  ],
  length: 158,
  _readableState: ReadableState {
    objectMode: false,
    highWaterMark: 16384,
    buffer: BufferList { head: null, tail: null, length: 0 },
    length: 0,
    pipes: null,
    pipesCount: 0,
    flowing: null,
    ended: false,
    endEmitted: false,
    reading: false,
    sync: true,
    needReadable: false,
    emittedReadable: false,
    readableListening: false,
    resumeScheduled: false,
    paused: true,
    emitClose: true,
    autoDestroy: false,
    destroyed: false,
    defaultEncoding: 'utf8',
    awaitDrain: 0,
    readingMore: false,
    decoder: null,
    encoding: null
  },
  readable: true,
  _events: [Object: null prototype] {},
  _eventsCount: 0,
  _maxListeners: undefined,
  _writableState: WritableState {
    objectMode: false,
    highWaterMark: 16384,
    finalCalled: false,
    needDrain: false,
    ending: false,
    ended: false,
    finished: false,
    destroyed: false,
    decodeStrings: true,
    defaultEncoding: 'utf8',
    length: 0,
    writing: false,
    corked: 0,
    sync: true,
    bufferProcessing: false,
    onwrite: [Function (anonymous)],
    writecb: null,
    writelen: 0,
    bufferedRequest: null,
    lastBufferedRequest: null,
    pendingcb: 0,
    prefinished: false,
    errorEmitted: false,
    emitClose: true,
    autoDestroy: false,
    bufferedRequestCount: 0,
    corkedRequestsFree: CorkedRequest {
      next: null,
      entry: null,
      finish: [Function (anonymous)]
    }
  },
  writable: true,
  allowHalfOpen: true,
  [Symbol(kCapture)]: false
}
2020-12-08T01:28:46.252Z mqtt-packet:parser _parsePublish
2020-12-08T01:28:46.252Z mqtt-packet:parser _parseNum: result: 36
2020-12-08T01:28:46.252Z mqtt-packet:parser _parseString: result: zigbee2mqtt/Mueller_Licht_Controller
2020-12-08T01:28:46.253Z mqtt-packet:parser _parsePublish: payload from buffer list: <Buffer 7b 22 61 63 74 69 6f 6e 22 3a 22 63 6f 6c 6f 72 5f 77 68 65 65 6c 22 2c 22 61 63 74 69 6f 6e 5f 63 6f 6c 6f 72 22 3a 7b 22 78 22 3a 30 2e 33 37 33 2c ... 70 more bytes>
2020-12-08T01:28:46.253Z mqtt-packet:parser _parsePayload complete result: true
2020-12-08T01:28:46.253Z mqtt-packet:parser parse: state complete. _stateCounter is now: 3
2020-12-08T01:28:46.253Z mqtt-packet:parser parse: packet.length: 158, buffer list length: 158
2020-12-08T01:28:46.253Z mqtt-packet:parser _newPacket
2020-12-08T01:28:46.254Z mqtt-packet:parser _newPacket: parser emit packet: packet.cmd: publish, packet.payload: {"action":"color_wheel","action_color":{"x":0.373,"y":0.589},"action_group":16389,"linkquality":115,"transition_time":0}, packet.length: 158
2020-12-08T01:28:46.254Z mqttjs:client parser :: on packet push to packets array.
2020-12-08T01:28:46.254Z mqtt-packet:parser _newPacket: new packet
2020-12-08T01:28:46.254Z mqtt-packet:parser parse: state complete. _stateCounter is now: 4
2020-12-08T01:28:46.254Z mqtt-packet:parser parse: packet.length: -1, buffer list length: 0
2020-12-08T01:28:46.254Z mqtt-packet:parser parse: exited while loop. packet: -1, buffer list length: 0
2020-12-08T01:28:46.254Z mqttjs:client work :: getting next packet in queue
2020-12-08T01:28:46.255Z mqttjs:client work :: packet pulled from queue
2020-12-08T01:28:46.255Z mqttjs:client _handlePacket :: emitting packetreceive
2020-12-08T01:28:46.255Z mqttjs:client _handlePublish: packet Packet { cmd: 'publish', retain: false, qos: 0, dup: false, length: 158, topic: 'zigbee2mqtt/Mueller_Licht_Controller', payload: <Buffer 7b 22 61 63 74 69 6f 6e 22 3a 22 63 6f 6c 6f 72 5f 77 68 65 65 6c 22 2c 22 61 63 74 69 6f 6e 5f 63 6f 6c 6f 72 22 3a 7b 22 78 22 3a 30 2e 33 37 33 2c ... 70 more bytes> }
2020-12-08T01:28:46.256Z mqttjs:client _handlePublish: qos 0
2020-12-08T01:28:46.276Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] New connection from client at interface wlan0
2020-12-08T01:28:46.276Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] HTTP server listening on port 37423

2020-12-08T01:28:46.281Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] New connection from client at interface wlan0
2020-12-08T01:28:46.281Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] HTTP server listening on port 34003
2020-12-08T01:28:46.287Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] HTTP request: /characteristics
2020-12-08T01:28:46.287Z HAP-NodeJS:HAPServer [0E:11:CE:D1:F1:2F] HAP Request: PUT /characteristics
2020-12-08T01:28:46.288Z HAP-NodeJS:Accessory [Homebridge F6B1] Processing characteristic set: [{"aid":109,"iid":14,"value":true},{"aid":109,"iid":15,"value":null},{"aid":109,"iid":17,"value":null},{"aid":109,"iid":18,"value":null}]
2020-12-08T01:28:46.289Z HAP-NodeJS:Accessory [Homebridge F6B1] Setting Characteristic "On" to value true
2020-12-08T01:28:46.291Z HAP-NodeJS:Accessory [Homebridge F6B1] Setting Characteristic "Hue" to value null
2020-12-08T01:28:46.292Z HAP-NodeJS:Accessory [Homebridge F6B1] Setting Characteristic "Saturation" to value null
2020-12-08T01:28:46.294Z HAP-NodeJS:Accessory [Homebridge F6B1] Setting Characteristic "Brightness" to value null
2020-12-08T01:28:46.303Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] HTTP request: /characteristics?id=109.14,109.15,109.16,109.17,109.18
2020-12-08T01:28:46.303Z HAP-NodeJS:HAPServer [0E:11:CE:D1:F1:2F] HAP Request: GET /characteristics?id=109.14,109.15,109.16,109.17,109.18
2020-12-08T01:28:46.305Z HAP-NodeJS:Accessory [Homebridge F6B1] Getting value for Characteristic "On"
2020-12-08T01:28:46.307Z HAP-NodeJS:Accessory [Homebridge F6B1] Getting value for Characteristic "Hue"
2020-12-08T01:28:46.309Z HAP-NodeJS:Accessory [Homebridge F6B1] Getting value for Characteristic "Color Temperature"
2020-12-08T01:28:46.311Z HAP-NodeJS:Accessory [Homebridge F6B1] Getting value for Characteristic "Saturation"
2020-12-08T01:28:46.313Z HAP-NodeJS:Accessory [Homebridge F6B1] Getting value for Characteristic "Brightness"

[08/12/2020, 02:28:46] [MSL320CHK] Failed to POST to the Meross Device MSL320CHK at 192.168.Merossxxxx.LEDstripexxxxx: Error: connect ECONNRESET 192.168.Merossxxxx.LEDstripexxxxx:80
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
  errno: -104,
  code: 'ECONNRESET',
  syscall: 'connect',
  address: '192.168.Merossxxxx.LEDstripexxxxx',
  port: 80
}
[08/12/2020, 02:28:46] [MSL320CHK] Set failed: false
[08/12/2020, 02:28:46] [MSL320CHK] Failed to POST to the Meross Device MSL320CHK at 192.168.Merossxxxx.LEDstripexxxxx: Error: connect ECONNRESET 192.168.Merossxxxx.LEDstripexxxxx:80
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
  errno: -104,
  code: 'ECONNRESET',
  syscall: 'connect',
  address: '192.168.Merossxxxx.LEDstripexxxxx',
  port: 80
}
[08/12/2020, 02:28:46] [MSL320CHK] Set failed: 0
[08/12/2020, 02:28:46] [MSL320CHK] Failed to POST to the Meross Device MSL320CHK at 192.168.Merossxxxx.LEDstripexxxxx: Error: connect ECONNRESET 192.168.Merossxxxx.LEDstripexxxxx:80
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
  errno: -104,
  code: 'ECONNRESET',
  syscall: 'connect',
  address: '192.168.Merossxxxx.LEDstripexxxxx',
  port: 80
}
[08/12/2020, 02:28:46] [MSL320CHK] Set failed: 0
2020-12-08T01:28:46.335Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] HTTP Response is finished
[08/12/2020, 02:28:46] [MSL320CHK] Failed to POST to the Meross Device MSL320CHK at 192.168.Merossxxxx.LEDstripexxxxx: Error: connect ECONNRESET 192.168.Merossxxxx.LEDstripexxxxx:80
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
  errno: -104,
  code: 'ECONNRESET',
  syscall: 'connect',
  address: '192.168.Merossxxxx.LEDstripexxxxx',
  port: 80
}
2020-12-08T01:28:46.338Z HAP-NodeJS:Accessory [Homebridge F6B1] Got Characteristic "On" value: false
[08/12/2020, 02:28:46] [MSL320CHK] Failed to POST to the Meross Device MSL320CHK at 192.168.Merossxxxx.LEDstripexxxxx: Error: connect ECONNRESET 192.168.Merossxxxx.LEDstripexxxxx:80
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
  errno: -104,
  code: 'ECONNRESET',
  syscall: 'connect',
  address: '192.168.Merossxxxx.LEDstripexxxxx',
  port: 80
}
2020-12-08T01:28:46.342Z HAP-NodeJS:Accessory [Homebridge F6B1] Got Characteristic "Hue" value: 16
[08/12/2020, 02:28:46] [MSL320CHK] Failed to POST to the Meross Device MSL320CHK at 192.168.Merossxxxx.LEDstripexxxxx: Error: connect ECONNRESET 192.168.Merossxxxx.LEDstripexxxxx:80
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
  errno: -104,
  code: 'ECONNRESET',
  syscall: 'connect',
  address: '192.168.Merossxxxx.LEDstripexxxxx',
  port: 80
}
2020-12-08T01:28:46.345Z HAP-NodeJS:Accessory [Homebridge F6B1] Got Characteristic "Color Temperature" value: 140
[08/12/2020, 02:28:46] [MSL320CHK] Failed to POST to the Meross Device MSL320CHK at 192.168.Merossxxxx.LEDstripexxxxx: Error: connect ECONNRESET 192.168.Merossxxxx.LEDstripexxxxx:80
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
  errno: -104,
  code: 'ECONNRESET',
  syscall: 'connect',
  address: '192.168.Merossxxxx.LEDstripexxxxx',
  port: 80
}
2020-12-08T01:28:46.348Z HAP-NodeJS:Accessory [Homebridge F6B1] Got Characteristic "Saturation" value: 0
[08/12/2020, 02:28:46] [MSL320CHK] Failed to POST to the Meross Device MSL320CHK at 192.168.Merossxxxx.LEDstripexxxxx: Error: connect ECONNRESET 192.168.Merossxxxx.LEDstripexxxxx:80
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1146:16) {
  errno: -104,
  code: 'ECONNRESET',
  syscall: 'connect',
  address: '192.168.Merossxxxx.LEDstripexxxxx',
  port: 80
}
2020-12-08T01:28:46.351Z HAP-NodeJS:Accessory [Homebridge F6B1] Got Characteristic "Brightness" value: 0
2020-12-08T01:28:46.353Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] HTTP Response is finished

2020-12-08T01:28:46.358Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] Client connection closed
2020-12-08T01:28:46.359Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] HTTP connection was closed
2020-12-08T01:28:46.360Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] HTTP server was closed
2020-12-08T01:28:46.362Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] Client connection closed
2020-12-08T01:28:46.364Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] HTTP connection was closed
2020-12-08T01:28:46.365Z HAP-NodeJS:EventedHTTPServer [::ffff:192.168.homexxxx.bridgexxxxx] HTTP server was closed

Homebridge Config:

        {
            "accessory": "Meross",
            "name": "MSL320CHK",
            "deviceUrl": "192.168.Merossxxxx.LEDstripexxxxx",
            "model": "MSL320CHK",
            "channel": 0,
            "messageId": "xxxxxxxx",
            "timestamp": 99999999,
            "sign": "xxxxxxxx"
        }

Screenshots:

Environment:

  • Node.js Version: v14.15.1
  • NPM Version: 6.14.9
  • Homebridge Version: 1.1.6
  • Homebridge Meross Plugin Version: v3.4.0
  • Homebridge Config UI X Plugin Version: v4.35.0
  • Operating System: Raspbian GNU/Linux 10 (buster)

Force device type?

Describe Your Problem:

I updated Node, Homebridge, and the Meross and UI plug-ins this week. Since then, I have some MSS110 devices set up to display as power outlets in the Meross app on iOS and yet they show up as lights in the Home app and Homebridge UI.

Is there a way to change the type of a device to a power outlet instead of a light?

Environment:

  • Node.js Version: 14.15.3
  • NPM Version: 6.14.9
  • Homebridge Version: 1.1.7
  • Homebridge Meross Plugin Version: 3.4.1
  • Homebridge Config UI X Plugin Version: 4.36.0
  • Operating System: Raspbian

Meross suddenly stopped working

Describe Your Problem:
Meross device suddenly stopped working after working for couple of days and showing below error in logs. IP address didn't change and tried rebooting Pi and Homebridge multiple times with no difference.

Logs:
[7/20/2020, 19:55:46] [Garage door] Failed to POST to the Meross Device MSG100 at 192.168.1.16: Error: connect ETIMEDOUT 192.168.1.16:80
at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {
errno: 'ETIMEDOUT',
code: 'ETIMEDOUT',
syscall: 'connect',
address: '192.168.1.16',
port: 80
}
(node:1241) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'debug' of undefined
at /usr/local/lib/node_modules/homebridge-meross/index.js:566:29
at runMicrotasks ()
at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:1241) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag --unhandled-rejections=strict (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 19)

Meross MSS210 not working Error: connect EHOSTUNREACH

Describe The Bug:
Homebridge not able to comunicate with plugs, errors in console
To Reproduce:
Just using homebridge to turn on and off plugs
Expected behavior:
plugs responding to calls from homebridge
Logs:

[7/30/2020, 11:51:21] [Enchufe] Failed to POST to the Meross Device MSS210 at 192.168.0.20: Error: connect EHOSTUNREACH 192.168.0.20:80
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {
  errno: 'EHOSTUNREACH',
  code: 'EHOSTUNREACH',
  syscall: 'connect',
  address: '192.168.0.20',
  port: 80
}
[7/30/2020, 11:51:36] [Enchufe] Failed to POST to the Meross Device MSS210 at 192.168.0.20: Error: connect EHOSTUNREACH 192.168.0.20:80
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {
  errno: 'EHOSTUNREACH',
  code: 'EHOSTUNREACH',
  syscall: 'connect',
  address: '192.168.0.20',
  port: 80
}
(node:19110) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'togglex' of undefined
    at Meross.getOnCharacteristicHandler (/usr/lib/node_modules/homebridge-meross/index.js:327:41)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:19110) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 5)
(node:19110) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'togglex' of undefined
    at Meross.getOnCharacteristicHandler (/usr/lib/node_modules/homebridge-meross/index.js:327:41)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:19110) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 6)
(node:19110) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'togglex' of undefined
    at Meross.getOnCharacteristicHandler (/usr/lib/node_modules/homebridge-meross/index.js:327:41)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:19110) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 7)
[7/30/2020, 11:53:58] [Enchufe] Failed to POST to the Meross Device MSS210 at 192.168.0.20: Error: connect EHOSTUNREACH 192.168.0.20:80
    at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1141:16) {
  errno: 'EHOSTUNREACH',
  code: 'EHOSTUNREACH',
  syscall: 'connect',
  address: '192.168.0.20',
  port: 80
}

**Homebridge Config:**

{
    "bridge": {
        "name": "Homebridge AA1B",
        "username": "0E:7E:93:4D:AA:1B",
        "port": 51018,
        "pin": "297-43-810"
    },
    "accessories": [
        {
            "model": "MSS210",
            "name": "Impresora 3D",
            "deviceUrl": "192.168.0.116",
            "channel": 0,
            "messageId": "c1779468dca8f744e0842c733b74e28e",
            "timestamp": 1596102034,
            "sign": "27232e3e6b88afe45f3205c72c8e1fd1",
            "accessory": "Meross"
        },
        {
            "model": "MSS210",
            "name": "Enchufe",
            "deviceUrl": "192.168.0.20",
            "channel": 0,
            "messageId": "7e8dd43a668da4cd3c3d5f885421974d",
            "timestamp": 1596102036,
            "sign": "4f60163a5356c80b460d866a8a2a4109",
            "accessory": "Meross"
        }
    ],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        }
    ]
}
**Environment:**

* **Node.js Version**: v12.18.3
* **NPM Version**: 6.14.6
* **Homebridge Version**: 1.1.1
* **Homebridge Meross Plugin Version**: homebridge-meross v2.3.1
* **Homebridge Config UI X Plugin Version**: homebridge-config-ui-x v4.24.0
* **Operating System**:  raspbian buster lite


MS100 Support

Currently its only possible to access these devices via the smartphone application or IFTTT. Adding these great little devices to homebridge would make them really useful and not just a neat toy.

error with MSS620

When I add the MSS620 device I start to get this errors:

[11/3/2020, 8:12:36 PM] [outdoor1] MSS620 turned Off
(node:17845) UnhandledPromiseRejectionWarning: TypeError: Cannot read property 'digest' of undefined
    at Meross.getOnCharacteristicHandler (/usr/lib/node_modules/homebridge-meross/src/index.ts:352:34)
    at runMicrotasks (<anonymous>)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)
(node:17845) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 14)

add this in the config

     {
           "model": "MSS620",
           "name": "outdoor1",
           "deviceUrl": "192.168.1.78",
           "channel": 1,
           "messageId": "75eeaa0f086ac8e12a62420cff9eba82",
           "timestamp": 1591348163,
           "sign": "92db6bb658f43631796f6a8215b29957",
           "accessory": "Meross"
       }

as other devices

Logs:

Show the Homebridge logs here. If using Homebridge Config-UI-X, you can easly downlaod your log by visiting the log page on the UI and Clicking the Download Icon in the top right.
Remove any sensitive information, such as yourhomebridge-meross timestamp / sign / messageId / deviceUrl.

Please Turn on Debug Mode before submitting your Issue so more logs can be shared to fix the issue being submitted.

***Read and Paste over this Text the Text Above^^^^^^

Homebridge Config:

{
    "bridge": {
        "name": "Homebridge 69D4",
        "username": "xxxxx",
        "port": 51787,
        "pin": "814-14-416"
    },
    "accessories": [
        {
            "model": "MSS310",
            "name": "angoliera",
            "deviceUrl": "192.168.1.133",
            "channel": 0,
            "messageId": "2a7cf801ccb1b2690f882006b1ec7306",
            "timestamp": 1591348077,
            "sign": "3045b761bc2a59b19fa3965dfc9053a3",
            "accessory": "Meross"
        },
        {
            "model": "MSS210",
            "name": "studio",
            "deviceUrl": "192.168.1.15",
            "channel": 0,
            "messageId": "2a7cf801ccb1b2690f882006b1ec7306",
            "timestamp": 1591348163,
            "sign": "bf042f4979c261d9480da799ea8a68ea",
            "accessory": "Meross"
        },
        {
            "model": "MSS620",
            "name": "outdoor1",
            "deviceUrl": "192.168.1.78",
            "channel": 1,
            "messageId": "75eeaa0f086ac8e12a62420cff9eba82",
            "timestamp": 1591348163,
            "sign": "92db6bb658f43631796f6a8215b29957",
            "accessory": "Meross"
        }
    ],
    "platforms": [
        {
            "name": "Config",
            "port": 8581,
            "platform": "config"
        },
        {
            "name": "Samsung TV",
            "devices": [
                {
                    "name": "TV Salone",
                    "ip": "192.168.1.143",
                    "mac": "cc:b1:1a:ac:9a:93",
                    "inputs": [
                        {
                            "name": "raiplay",
                            "type": "app",
                            "value": "123"
                        }
                    ],
                    "switches": [
                        {
                            "name": "RaiUno",
                            "power": true,
                            "channel": 501
                        }
                    ]
                }
            ],
            "platform": "SamsungTizen"
        }
    ]
}```

**Screenshots:**

<!-- If applicable, add screenshots to help explain your problem. -->

# **Environment:**

- **Node.js Version**: <!-- node -v -->
v12.19.0
- **NPM Version**: <!-- npm -v -->
6.9.0
- **Homebridge Version**: <!-- homebridge -V -->
1.2.3
- **Homebridge Meross Plugin Version**:
homebridge-meross v3.2.0
- **Homebridge Config UI X Plugin Version**:
homebridge-config-ui-x v4.31.0
- **Operating System**: <!-- Raspbian / Ubuntu / Debian / Windows / macOS / Docker -->
Raspbian
<!-- Click the "Preview" tab before you submit to ensure the formatting is correct. -->

HomeKit showing as "Update Available"

I have added a MSS210 plug and it works perfectly, but the Apple Home app shows as an update is available and a link to the Meross app. All of the devices are up to date, can this be overridden?

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.