Cybele
Cybele copied to clipboard
Failed to connect to Mi Kettle-TypeError: Cannot read property 'StartNotify' of undefined
Hi everyone,
I follow the readme to install the package. I've cloned the repo, done npm install, configured cybele as follows
{
"mqtt": {
"url": "MQTT"
},
"dongles": [
{
"hciDevice": "hci0",
"mode": "le",
"services": [],
"devices": [{
"type": "MiKettleDevice",
"friendlyName": "Mi Kettle",
"mac": "MAC",
"productId":1116
}
]
}
]
}
Connected to MQTT Broker
Startup complete
/home/pi/Cybele/lib/devices/MiKettle/MiKettleDevice.js:166
this.characteristicsByUUID[MiKettleDevice.CHARACTERISTICS.auth].StartNotify([], err => {
^
TypeError: Cannot read property 'StartNotify' of undefined
at /home/pi/Cybele/lib/devices/MiKettle/MiKettleDevice.js:166:73
at Object.item.task (/home/pi/Cybele/node_modules/semaphore/lib/semaphore.js:40:29)
at Object.take (/home/pi/Cybele/node_modules/semaphore/lib/semaphore.js:51:9)
at MiKettleDevice.doAuthStageTwo (/home/pi/Cybele/lib/devices/MiKettle/MiKettleDevice.js:165:20)
at Object.<anonymous> (/home/pi/Cybele/lib/devices/MiKettle/MiKettleDevice.js:156:22)
at EventEmitter.<anonymous> (/home/pi/Cybele/node_modules/dbus-native/lib/bus.js:138:19)
at EventEmitter.emit (events.js:388:22)
at /home/pi/Cybele/node_modules/dbus-native/index.js:106:14
at Socket.<anonymous> (/home/pi/Cybele/node_modules/dbus-native/lib/message.js:55:9)
at Socket.emit (events.js:376:20)
Any ideas what's wrong?
I add the Token in the config file, now I have a new error.
Connected to MQTT Broker
Startup complete
Disconnected from Mi Kettle
Mi Kettle {
message: 'Failed to connect to Mi Kettle',
error: 'Timeout exceeded'
} while connecting
/home/pi/Cybele/lib/devices/MiKettle/MiKettleDevice.js:166
this.characteristicsByUUID[MiKettleDevice.CHARACTERISTICS.auth].StartNotify([], err => {
^
TypeError: Cannot read property 'StartNotify' of undefined
at /home/pi/Cybele/lib/devices/MiKettle/MiKettleDevice.js:166:73
at Object.item.task (/home/pi/Cybele/node_modules/semaphore/lib/semaphore.js:40:29)
at Object.take (/home/pi/Cybele/node_modules/semaphore/lib/semaphore.js:51:9)
at MiKettleDevice.doAuthStageTwo (/home/pi/Cybele/lib/devices/MiKettle/MiKettleDevice.js:165:20)
at Object.<anonymous> (/home/pi/Cybele/lib/devices/MiKettle/MiKettleDevice.js:156:22)
at EventEmitter.<anonymous> (/home/pi/Cybele/node_modules/dbus-native/lib/bus.js:138:19)
at EventEmitter.emit (events.js:388:22)
at /home/pi/Cybele/node_modules/dbus-native/index.js:106:14
at Socket.<anonymous> (/home/pi/Cybele/node_modules/dbus-native/lib/message.js:55:9)
at Socket.emit (events.js:376:20)
```
The same with new Xiaomi Kettle Pro it make beep and give the error like this MAC: A4:C1:38:81:FE:58 Token: e3e28761a205cc475e1aa1ac Model: yunmi.kettle.v12
If there is no auth characteristic with that model, it might run a different firmware which works.. differently and therefore requires additional reverse engineering
How could we help to make it work (if we could)?
@Hypfer can we anyhow assist you? Providing logs or smthg else?
I'm not working on this.