Giter Site home page Giter Site logo

homebridge-xiaomi-mi-robot-vacuum's People

Contributors

olehs avatar seikan avatar

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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-xiaomi-mi-robot-vacuum's Issues

Can't connect to Xiaomi Robot

Hello all,

Unfortunately this plugin doesn't work for me. I've set up everything according to the manual. The fan-icon is showed in the app but when I press the button all I get is:

Jun 18 21:01:58 homebridge homebridge[855]: (node:855) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 7): Error: Call to device timed out
Jun 18 21:01:58 homebridge homebridge[855]: (node:855) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 8): Error: Call to device timed out

I'm running the latest Node.js (8.1.2). Your plugin is up-to-date. The vaccum-cleaner runs with version 3.39_003074

What can I do in order to get this running?

Thank you very much!

UnhandledPromiseRejectionWarning

Hello everyone, sorry about my English...

I'm new here, everything work well, the vacuum is detected and work but I got this message in my terminal every time I start the vacuum

((node:587) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Could not complete call to device
(node:587) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with anon-zero exit code.
(node:587) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Could not complete call to device
(node:587) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 3): Error: Could not complete call to device)

Could you help me ?

Thanks and have a good day,

Terry

Error because new token

Hello,
after a reset and re-configuration I get this error:

Sep 5 13:18:36 hbridge2 homebridge[12834]: (node:12834) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Not able to initialize robot vacuum. Sep 5 13:18:36 hbridge2 homebridge[12834]: (node:12834) [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.
The token has been updated.
he is now much longer:
2800xxxxxxxxxxf08e984f150xxxxxxxxxxx14594b42a276a510f631c2acb0143db63ee66b0cdff9f69917680151e
a cut to 32 bits does not go
Thanks for your help

UnhandledPromiseRejectionWarning:

Dear all,
I have some issues to get the plugin to work. I have decrypted the TOKEN according to the AES as described in other threads. The home bridge is up and running in home kit and also the plugin for the fan seems to work in home kit. But nothing more happens. Can anybody guide me, thanks

Below is a screenshoot from home bridge

[2017-12-14 22:41:30] Loaded plugin: homebridge-xiaomi-mi-robot-vacuum
[2017-12-14 22:41:30] Registering accessory 'homebridge-xiaomi-mi-robot-vacuum.MiRobotVacuum'
[2017-12-14 22:41:30] ---
[2017-12-14 22:41:30] Loaded config.json with 1 accessories and 0 platforms.
[2017-12-14 22:41:30] ---
[2017-12-14 22:41:30] Loading 1 accessories...
[2017-12-14 22:41:30] [Vacuum Cleaner] Initializing MiRobotVacuum accessory...
Setup Payload:
X-HM://0023OA600KIBB
Scan this code with your HomeKit app on your iOS device to pair with Homebridge:
..
..
[2017-12-14 22:41:30] Homebridge is running on port 51826.
(node:15431) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Not able to initialize robot vacuum.
(node:15431) [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.
(node:15431) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Call to device timed out
(node:15431) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 3): Error: Call to device timed out
(node:15431) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 4): Error: Call to device timed out
(node:15431) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 5): Error: Call to device timed out
(node:15431) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 6): Error: Call to device timed out
(node:15431) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 7): Error: Call to device timed out

Connected but controls don't work

I can see the vacuum cleaner in my Home app and can switch it on and off but the robot doesn't respond. Any ideas?

The error I'm getting is:
(node:1126) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Not able to initialize robot vacuum.
(node:1126) [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.

Support for mop mode?

Hi,
is there any possiblity to add option to toggle the mop Cleanup mode for the device?

img_23ccef42e43b-1

No response

Hello,

I have a issue with my xiaomi mi robot vaccum, i have test the readme 2 time, but never work :-(.

I have get the token and i have wrote like this in my config.json :

    {
        "accessory": "MiRobotVacuum",
        "name": "Vacuum Cleaner",
        "ip": "192.168.X.XXX",
        "token": "THEGOODTOKEN",
        "pause": false
    }

I don't have any trace with error, but in my Home app i have the message "no response".

Do you have any idea ?

Slider in 4 steps

Hello, is it possible that you change slider for the stages in 4 steps 1-4?
I think that would be better to adjust as before in percent 0-100.

Send to Dock?

Hi,
Is it possible to Sent the robot back to dock when switching off via homekit?
Right now, the robot only pauses the work.
Thanks in advance

Battery percentage not correct

Hi
Thanks for the great plugin! One issue I have is the battery % which is not always correct.
Normally a restart of HomeBridge solves the problem.

Errors when I add code to config.json

I have this working in Home Assistant so I know the IP address and token are good but in Homebridge I get this error

Error: The requested accessory 'MiRobotVacuum' was not registered by any plugin.
at API.accessory (/usr/local/lib/node_modules/homebridge/lib/api.js:64:13)
at Server._loadAccessories (/usr/local/lib/node_modules/homebridge/lib/server.js:264:42)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:86:38)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:40:10)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:652:30)
at Object.Module._extensions..js (module.js:663:10)
at Module.load (module.js:565:32)
at tryModuleLoad (module.js:505:12)
at Function.Module._load (module.js:497:3)
at Function.Module.runMain (module.js:693:10)
at startup (bootstrap_node.js:188:16)
at bootstrap_node.js:609:3

My config.json

{
    "bridge": {
        "name": "Homebridge",
        "username": "CC:22:3D:E3:CE:30",
        "port": 51826,
        "pin": "031-45-154"
    },
 
	"accessories": [
		{
			"accessory": "MiRobotVacuum",
			"name": "Vacuum",
			"ip": "192.168.0.84",
			"token": "454c38796b586374534e6e6f50675171",
			"pause": false
		}
	],
    
    "platforms": [
        {
            "platform": "HomeAssistant",
            "name": "HomeAssistant",
            "host": "http://192.168.0.22:8123",
            "password": "*******",
            "supported_types": [
                "binary_sensor",
                "climate",
                "cover",
                "device_tracker",
                "fan",
                "input_boolean",
                "light",
                "lock",
                "media_player",
                "remote",
                "script",
                "sensor",
                "switch",
                "vacuum"
            ],
            "default_visibility": "visible",
            "logging": false,
            "verify_ssl": true
        }
    ]
}

Call to device time out

I followed your introduce step by step, but my homebridge report an error.

(node:461) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 1): Error: Not able to initialize robot vacuum.
(node:461) 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.
(node:461) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 2): Error: Call to device timed out

Xiaomi Mi Robot Vacuum Mop Pro

Hi,

I try to configure it for my Xiaomi Mi Robot Vacuum Mop Pro and I can't use it. I don't have any errors in logs. Any idea?

miio.createDevice is not a function

Loading 1 accessories...
[2018-1-25 10:04:28] [Vacuum Cleaner] Initializing MiRobotVacuum accessory...
/usr/lib/node_modules/homebridge-xiaomi-mi-robot-vacuum/index.js:88
this.device = miio.createDevice({
^

TypeError: miio.createDevice is not a function
at Object.discover (/usr/lib/node_modules/homebridge-xiaomi-mi-robot-vacuum/index.js:88:22)
at Object.MiRobotVacuum (/usr/lib/node_modules/homebridge-xiaomi-mi-robot-vacuum/index.js:78:7)
at Server._loadAccessories (/usr/lib/node_modules/homebridge/lib/server.js:275:29)
at Server.run (/usr/lib/node_modules/homebridge/lib/server.js:86:38)
at module.exports (/usr/lib/node_modules/homebridge/lib/cli.js:40:10)
at Object. (/usr/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (module.js:570:32)
at Object.Module._extensions..js (module.js:579:10)
at Module.load (module.js:487:32)
at tryModuleLoad (module.js:446:12)

something I didn't see?

FeatureRequest: homebridge-module that makes use of the valetudo-api

Dear all,

I'm not sure if this is the right place for such a discussion, so please excuse me if I'm wrong here.
Unfortunately I'm very bad at programming, so I integrated Valetudo, which is a web server running directly on the rockrobo, into my homebridge (Homekit) environment in a very bad way. (but it works ;-)
I use the homebridge-plugin cmdAccessory to fire curl-commands with the API-calls for Valetudo. in my homebridge-config this looks similar to this:

 {
"name": "RockroboDock",
"on_cmd": "curl 'http://<rockrobo-ip>/api/drive_home' -XPUT -H 'Origin: http://<rockrobo-ip>' -H 'Host: <rockrobo-ip>' -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Content-Length: 0' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: de-de' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.1 Safari/605.1.15' -H 'Accept: */*' -H 'Referer: http://<rockrobo-ip>/'",
"off_cmd": "curl 'http://<rockrobo-ip>/api/pause_cleaning' -XPUT -H 'Origin: http://<rockrobo-ip>' -H 'Host: <rockrobo-ip>' -H 'DNT: 1' -H 'Connection: keep-alive' -H 'Content-Length: 0' -H 'Accept-Encoding: gzip, deflate' -H 'Accept-Language: de-de' -H 'User-Agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_13_5) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/11.1.1 Safari/605.1.15' -H 'Accept: */*' -H 'Referer: <rockrobo-ip>/'",
"polling": true,
"interval": "10",
"state_cmd": "/bin/false",
"manufacturer": "aebgit",
"type": "Switch"
},

I wonder if somebody more skilled than me, can use this as inspiration for a homebridge-module that uses the Valetudo web-api. In my eyes this would be a great benefit to the homebridge- and rockrobo-community, because the current solutions (like homebridge-xiaomi-mi-robot-vacuum) that make use of the xiaomi-token are very unreliable.

Bet regards
Andreas

references:
https://github.com/Hypfer/Valetudo
https://github.com/nfarina/homebridge
https://www.npmjs.com/package/homebridge-xiaomi-mi-robot-vacuum
https://github.com/YinHangCode/homebridge-mi-robot_vacuum

Error (node:194) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 6)

Hi Seikan,

i successfully got the token and configured the plugin. Vacuum Cleaner Shows up in Homekit as a Fan but when i try to start it nothing happens. Hombridge logfile drops an error massage

"(node:194) UnhandledPromiseRejectionWarning: Unhandled promise rejection (rejection id: 6): Error: Call to device timed out"

after a while Homebridge crashes.

Im using the latest versions.

ERROR LOADING PLUGIN homebridge-xiaomi-robot-vacuum: Cannot find module 'miio'

hello, i'm getting this errors, anyone can help me?

before adding the robot accesory everything was working good

====================
[11/20/2019, 11:35:17 AM] ERROR LOADING PLUGIN homebridge-xiaomi-robot-vacuum:
[11/20/2019, 11:35:17 AM] Error: Cannot find module 'miio'
at Function.Module._resolveFilename (internal/modules/cjs/loader.js:636:15)
at Function.Module._load (internal/modules/cjs/loader.js:562:25)
at Module.require (internal/modules/cjs/loader.js:690:17)
at require (internal/modules/cjs/helpers.js:25:18)
at Object. (/usr/local/lib/node_modules/homebridge-xiaomi-robot-vacuum/index.js:3:14)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787: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)
[11/20/2019, 11:35:17 AM] ====================
Error: The requested accessory 'MiRobotVacuum' was not registered by any plugin.
at API.accessory (/usr/local/lib/node_modules/homebridge/lib/api.js:64:13)
at Server._loadAccessories (/usr/local/lib/node_modules/homebridge/lib/server.js:297:42)
at Server.run (/usr/local/lib/node_modules/homebridge/lib/server.js:91:38)
at module.exports (/usr/local/lib/node_modules/homebridge/lib/cli.js:59:10)
at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
at Module._compile (internal/modules/cjs/loader.js:776:30)
at Object.Module._extensions..js (internal/modules/cjs/loader.js:787: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)
[11/20/2019, 11:35:18 AM] [MiAqaraPlatform] [INFO]Aqara LAN protocol server is listening on port: xxxx
[11/20/2019, 11:35:18 AM] Got SIGTERM, shutting down Homebridge...
homebridge.service: Main process exited, code=exited, status=143/n/a
homebridge.service: Failed with result 'exit-code'.
homebridge.service: Service RestartSec=3s expired, scheduling restart.
homebridge.service: Scheduled restart job, restart counter is at 42.
Stopped Homebridge.
Started Homebridge.
[11/20/2019, 11:35:27 AM] Loaded config.json with 1 accessories and 3 platforms.
[11/20/2019, 11:35:27 AM] ---
[11/20/2019, 11:35:27 AM] Loaded plugin: homebridge-config-ui-x
[11/20/2019, 11:35:27 AM] Registering platform 'homebridge-config-ui-x.config'
[11/20/2019, 11:35:27 AM] ---
[11/20/2019, 11:35:27 AM] Loaded plugin: homebridge-mi-aqara-fakegato
[11/20/2019, 11:35:27 AM] Registering platform 'homebridge-mi-aqara.MiAqaraPlatform'
[11/20/2019, 11:35:27 AM] ---
[11/20/2019, 11:35:27 AM] Loaded plugin: homebridge-platform-orvibo
[11/20/2019, 11:35:27 AM] Registering platform 'homebridge-platform-orvibo.Orvibo'
[11/20/2019, 11:35:27 AM] ---
[11/20/2019, 11:35:27 AM] ====================
[11/20/2019, 11:35:27 AM] ERROR LOADING PLUGIN homebridge-xiaomi-robot-vacuum:
[11/20/2019, 11:35:27 AM] Error: Cannot find module 'miio'
.......
[11/20/2019, 11:35:58 AM] Loading 3 platforms...
[11/20/2019, 11:35:58 AM] [Config] Initializing config platform...
[11/20/2019, 11:35:58 AM] [Config] Running in Standalone Mode.
[11/20/2019, 11:35:58 AM] [MiAqaraPlatform] Initializing MiAqaraPlatform platform...
[11/20/2019, 11:35:58 AM] [MiAqaraPlatform] [INFO]**************************************************************
[11/20/2019, 11:35:58 AM] [MiAqaraPlatform] [INFO] MiAqaraPlatform v0.8.6 By YinHang
[11/20/2019, 11:35:58 AM] [MiAqaraPlatform] [INFO] GitHub: https://github.com/YinHangCode/homebridge-mi-aqara
[11/20/2019, 11:35:58 AM] [MiAqaraPlatform] [INFO] QQ Group: 107927710
[11/20/2019, 11:35:58 AM] [MiAqaraPlatform] [INFO]**************************************************************
[11/20/2019, 11:35:58 AM] [MiAqaraPlatform] [INFO]start success...
[11/20/2019, 11:35:58 AM] [MiAqaraPlatform] [INFO]config gateways: xxxxxxxxxxxx
[11/20/2019, 11:35:58 AM] [MiAqaraPlatform] [INFO]binding to the default interface
[11/20/2019, 11:35:58 AM] [Orvibo] Initializing Orvibo platform...
[11/20/2019, 11:35:58 AM] Loading 1 accessories...
[11/20/2019, 11:35:58 AM] Error: The requested accessory 'MiRobotVacuum' was not registered by any plugin.

this id my config file:

{
"bridge": {
"name": "HOOBS",
"username": "xx.xx.xx.xx:30",
"port": xxxxx,
"pin": "0xx-xx-xx"
},
"description": "This file is used for plugin configuration.",
"accessories": [
{
"accessory": "MiRobotVacuum",
"name": "Vacuum Cleaner",
"model": "rockrobo.vacuum.v1",
"ip": "192.1x.x1.1x",
"token": "6xxxxxxxxxxxxxxxxxxxxxxa54",
"showDock": true,
"enablePause": true
}
],
"platforms": [
{
"name": "Config",
"port": 8080,
"auth": "form",
"theme": "amber",
"sudo": true,
"standalone": true,
"restart": "sudo -n systemctl restart homebridge homebridge-config-ui-x",
"temp": "/sys/class/thermal/thermal_zone0/temp",
"log": {
"method": "custom",
"command": "sudo -n journalctl -o cat -n 500 -f -u homebridge -u homebridge-config-ui-x"
},
"platform": "config"
},
{
"platform": "MiAqaraPlatform",
"gateways": {
"f0xxxxxxxa91": "FA8xxxxxxxxxx283"
}
},
{
"platform": "Orvibo"
}
]
}

Token Extraction

Hi
I can’t get the token using miio since I have a new firmware.
I downgraded the firmware and was able to get the token but once I did a firmware upgrade the plugin stopped working

Anyway to get the token and stay with the latest firmware?

Thanks
Omer

Pause (without returning to the dock).

Hello and thank you for the plugin. In my case, I have a large apartment and I would like to pause the robot in the middle of the cleaning to empty the bin and then continue cleaning the rest. Is there any way I can do that with your plugin or can you add that function? Right now, If I press the robot button in the Home app while it is cleaning, the robot will return to the dock. Thank you!

can't get token

Hello

I use synology nas server as homebridge server, it has no wifi connet so i can't connet it to the robot's wifi spot. i opened command prompt on synology nas server and input the miio command,
it says: Token: ???. is there some other way to get the token?please help,thanks!

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.