joe-ng / homebridge-dyson-link

MIT License
206 stars 40 forks source link

Cannot read property 'match' of undefined... #104

Open rab523 opened 4 years ago

rab523 commented 4 years ago

I am getting the following error when I run Homebridge.

1/5/2020, 4:12:30 PM] [DysonPlatform] Device serial number format valids [1/5/2020, 4:12:30 PM] [DysonPlatform] Device not cached. Create a new one [1/5/2020, 4:12:30 PM] [DysonPlatform] Init Sensor for Dyson Pure Hot + Cool [1/5/2020, 4:12:30 PM] [DysonPlatform] Init Fan State for Dyson Pure Hot + Cool [1/5/2020, 4:12:30 PM] [DysonPlatform] Night mode button is added HAP Warning: Characteristic 000000AC-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 000000B7-0000-1000-8000-0026BB765291. Adding anyway. HAP Warning: Characteristic 000000AB-0000-1000-8000-0026BB765291 not in required or optional characteristics for service 000000B7-0000-1000-8000-0026BB765291. Adding anyway. [1/5/2020, 4:12:30 PM] [DysonPlatform] Heat Available. Add Heat button and jet control [1/5/2020, 4:12:30 PM] [DysonPlatform] Jet Focus mode button is added [1/5/2020, 4:12:30 PM] [DysonPlatform] Use device password from config file [1/5/2020, 4:12:30 PM] [DysonPlatform] undefined IP:undefined Serial Number:undefined [1/5/2020, 4:12:30 PM] TypeError: Cannot read property 'match' of undefined at new DysonLinkDevice (/usr/local/lib/node_modules/homebridge-dyson-link/DysonLinkDevice.js:20:42) at config.accessories.forEach (/usr/local/lib/node_modules/homebridge-dyson-link/index.js:82:42) at Array.forEach (<anonymous>) at getDevicesFromAccount (/usr/local/lib/node_modules/homebridge-dyson-link/index.js:50:49) at DysonPlatform.getDevicesFromAccount (/usr/local/lib/node_modules/homebridge-dyson-link/index.js:127:13) at API.DysonPlatform.api.on (/usr/local/lib/node_modules/homebridge-dyson-link/index.js:49:26) at API.emit (events.js:203:15) at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:103:13) at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:59:10) at Object.<anonymous> (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22) at Module._compile (internal/modules/cjs/loader.js:778:30) at Object.Module._extensions..js (internal/modules/cjs/loader.js:789:10) at Module.load (internal/modules/cjs/loader.js:653:32) at tryModuleLoad (internal/modules/cjs/loader.js:593:12) at Function.Module._load (internal/modules/cjs/loader.js:585:3) at Function.Module.runMain (internal/modules/cjs/loader.js:831:12) at startup (internal/bootstrap/node.js:283:19) at bootstrapNodeJSCore (internal/bootstrap/node.js:622:3)

I am having a tough time figuring this one out. My config is below...

`{ "bridge": { "name": "Homebridge", "username": "xxx", "port": "xxx", "pin": "031-45-151" }, "accessories": [ { "accessory": "Roomba690", "model":"690",
"name": "Roomba", "hostname": "xxx",
"blid":"xxx", "password":":1:xx" } ], "platforms": [ { "platform": "InfinitudePlatform", "url": "xxx" },

{
  "platform": "BelkinWeMo",
  "name": "WeMo Platform"
},
 {
  "platform": "DysonPlatform",
  "name": "DysonPlatform",
  "accessories": [
    {
      "ip": "xxx",
      "displayName": "Dyson Pure Hot + Cool",
      "serialNumber": "xxx",
      "password": "xxx"
    },
{
  "platform": "Nest",
  "email": "xxx",
  "password": "xxx"
}

] } ] }`

Any help is much appreciated!

ifeign commented 4 years ago

Your config.json is incorrect, the user who provided a "working one" just messed things up further and is probably causing these issues. I posted about it in your thread, however for your reference:


{
    "bridge": {
        "name": "Homebridge",
        "username": "xxxx",
        "port": xxxx,
        "pin": "031-45-151"
    },
    "accessories": [{
        "accessory": "Roomba690",
        "model": "690",
        "name": "Roomba",
        "hostname": "xxx",
        "blid": "xxx",
        "password": "xxx"
    }],
    "platforms": [{
            "platform": "InfinitudePlatform",
            "url": "xxx"
        },

        {
            "platform": "BelkinWeMo",
            "name": "WeMo Platform"
        },
        {
            "platform": "DysonPlatform",
            "name": "DysonPlatform",
            "accessories": [{
                "ip": "xxx",
                "displayName": "Dyson Pure Hot + Cool",
                "serialNumber": "xxx",
                "password": "xxx"
            }]
        },
        {
            "platform": "Nest",
            "email": "xxx",
            "password": "xxx"
        }

    ]
}