Giter Site home page Giter Site logo

homebridge-deebotecovacs's Introduction

homebridge-deebotecovacs

npm npm npm

CodeFactor Build Status Known Vulnerabilities

code style: prettier

Plugin for controlling your deebot Ecovacs from Ecovacs through HomeBridge .

Each Deebot is shown through

  • One fan. Fan speed will determine the deebot speed. Direction will handle auto / edge mode. Switching off will make the deebot stop, switching on will make it start cleaning,
  • One Switch that will allow you to start lceaning (auto / edge mode depending on Fan direction), and go back to charge when switched off,
  • One Switch that will play a sound on your Deebot,
  • One Motion sensor that will be triggered in case your deebot needs attention.

The battery percentage / charging status is shown in the detail pane of each service.

npm install -g homebridge-deebotecovacs

IMPORTANT This might not be needed anymore since 1.2.0

If you encounter any issue while installing, you might have to install additionnal packages on your environment since the main dependency of it depends on canvas library which is not available for all configurations. See there for more details : canvas compiling.

For use in the oznu/homebridge Docker image (Alpine Linux) please add the following line to your startup.sh script and restart the container. You can edit this file in directly in the Homebride UI by selecting the drop down menu in the upper-right-corner and selecting Startup Script.

apk add build-base cairo-dev jpeg-dev pango-dev giflib-dev librsvg-dev

You can also use the PACKAGES env variable directly with docker

-e PACKAGES=build-base,cairo-dev,jpeg-dev,pango-dev,giflib-dev,librsvg-dev

Homebridge configuration

Config as below:

"platforms": [
  {
    "platform": "DeebotEcovacs",
    "email": "[email protected]",
    "password": "toto",
    "countryCode" : "FR"
  }
]

Fields:

  • platform must be "DeebotEcovacs" (required).
  • email email used for your ecovacs account (required).
  • password password of your ecovacs account (required).
  • country code : country code for your account , value in : CH, TW, MY, JP, SG, TH, HK, IN, KR,US,FR, ES, UK, NO, MX, DE, PT, CH, AU, IT, NL, SE, BE, DK, OTHER (required).
  • refreshTimer Optional - enable refresh of deebot state every X seconds, for automation purpose if you need to activate something else based on its state change (defaults : disable, accepted range : 30-600s).
  • cleanCache Set it to true in case you want to remove the cached accessory (only those from this plugin). You have to restart homebridge after applying the option. Remove it after restart, otherwise it will be recreated at each startup.
  • deebotNames Array of NickNames of the deebot to publish. Defaults to all found on your account.
  • publishBipSwitch Optional - defaults to true - Publish the switch that makes the deebot beeps
  • publishFan Optional - defaults to true - Publish the fan that makes speed cleaning available
  • publishSwitch Optional - defaults to true - Publish the switch that makes on/off available
  • publishMotionDetector Optional - defaults to true - Publish the motion detector to be triggered in case of hep needed by your deebot
  • publishAutoSwitch Optional - Publish a switch to start in auto Mode.
  • publishEdgeSwitch Optional - Publish a switch to start in edge Mode.
  • publishSpotSwitch Optional - Publish a switch to start in spot Mode.
  • publishSpotAreaSwitches Optional - Publish switches to start for each spot Area. Must be something like ["1","1,2"] or ["deebotName|1","deebotName2|1,2"] if you have multiple deebots . Name can be specified like ["1/Kitchen","1,2/LivingRoom"]
  • publishCustomAreaSwitches Optional - Publish switches to start for each Custom Area. Must be something like ["x1,y1,x2,y2,numberOfcleanings","x1,y1,x2,y2,numberOfcleanings"] or ["deebotName|x1,y1,x2,y2,numberOfcleanings","deebotName2|x1,y1,x2,y2,numberOfcleanings"] if you have multiple deebots. Number of cleanings is optionnal . Name can be specified like ["x1,y1,x2,y2,numberOfcleanings/Kitchen"]
  • publishAreaSwitchesAsSeparateDevices Optional - Defaults to false. Publish Custom / Spot switches as indiviual accessories so that you can move them in other rooms.
  • showInfoLogs Optional - Defaults to false. Log info for maps, custom areas and so on .

See : https://github.com/mrbungle64/ecovacs-deebot.js/wiki/Clean-modes

Changelog

See CHANGELOG.

Inspiration

Many thanks to :

  • wpietri for sucks python api and protocol
  • mrbungle64 for nice js port and revamp of sucks.js package
  • every tester / contributor that test, and give feedback in any way !

Donating

Support this project and others by nicoduj via PayPal.

Support via PayPal

License

As of Sept 01 2019, Nicolas Dujardin has released this repository and its contents to the public domain.

It has been released under the UNLICENSE.

homebridge-deebotecovacs's People

Contributors

greenkeeper[bot] avatar mrbungle64 avatar nicoduj avatar snyk-bot avatar tteuer 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

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

homebridge-deebotecovacs's Issues

I think this plugin is crashinng my homebridge installation

Hi team,

unfortunately something is crashing my homebridge installation and I think it is related to the homebridge-deebotEcovacs plugin.

I found this in the /var/log/homebridge.log:

<--- JS stacktrace --->

==== JS stack trace =========================================

    0: ExitFrame [pc: 0xee3360]
    1: StubFrame [pc: 0xe5b86c]
Security context: 0x3188ea21 <JSObject>
    2: refreshAllDeebots [0x33067cf1] [/usr/lib/node_modules/homebridge-deebotecovacs/index.js:849] [bytecode=0x540d0431 offset=136](this=0x5f48de45 <myDeebotEcovacsPlatform map = 0x50dae66d>)
    3: _onTimeout [0x4179dcf9] [/usr/lib/node_modules/homebridge-deebotecovacs/index.js:840] [bytecode=0x540d0795 offset=11](this=0x4179d869 <Tim...

Is this something you can help with?

I'm running on:

Node.js Version: v12.19.0
NPM version: v6.14.8
Homebridge: v1.1.6
homebridge-deebotecovacs: v1.4.1

Customize what switches become active

Would it be possible to disable some of the switches/features within the plugin? For example, I would just like the Auto Clean switch and Motion Detection for an issues. So just 2 or 4 of the devices created by default.

No possibility of mapping several SpotAreas

Good morning I'm new here and did a little homebridge research last week. Installation of the Homebridge according to the instructions from the forum worked. Now the Homebridge is running and I have worked on the Homebridge Deebotecovacs Plugin v1.4.1 for my Deebot robot. I see the autostart, suction power, start / stop and bip switches. Unfortunately I can't manage the SpotAreas. In the plugin settings you have to separate the spot areas with an apostrophe. However, my robot has two cards, one in the apartment and one in the basement. I would like to have individual rooms displayed for the apartment so that I can control them specifically. I only ever get the SpotArea0 displayed. As in the description, I have separated the SpotAreas with commas or in quotation marks. Unfortunately all without success. My robot is the Ozmo 950 model
About Help I would be happy.

Greetings Tins

translated with google translator, so maybe not perfect English

Question on fan direction selection

Hello,
First, thanks for your job! As for harmony, it works great!
I have one question about the fan direction that seems to be used to select the cleaning mode (edge or auto). Is there a way in home app to know which one is selected?
Furthermore, in the native Deebot app, I did not find any corresponding setting. Do you know which native option it modified?

Thanks in advance

Home app Fan Tile + Siri Command

Hi,

Firstly thank you for making this plugin for the deebot. It is so nice to be able to control the robo vacuum from Homekit to integrate it in my home.

I'm running into two small problems;

  1. When the tiles are grouped, the Home app UI is showing the default tile as a fan. This is a bit annoying and I wish it could expose the default tile as a switch instead.

  2. Another tiny issue is if I tell Siri to turn on all the fans in my house, the robovac also turns on as one of the tiles is exposed as a fan. Is there any way to exclude this from the list

IMG_2193

No option to send back to charge?

Just installed this plugin from a much more basic Deebot plugin. I was surprised to see there was no "Go Charge" command. Is this something which could be added in later build, or is it there and I missed it?

Characteristic Error in Homebridge 1.3.0

Hi,

I'm beta testing Homebridge 1.3.0 (beta 58). The deebotecovacs plugin is producing this error, which does not seem to happen in 1.2.x

Is something wrong with my installation, or is this a bug?

deebot

ecovacs

No Deebot found

Hallo the Plugin doesnt find my Deebot, the other Deebot Plugin works. Whats wrong?
tje log only Shows 0 Deebot found, trying again in one Minute.
nothing Else.
the Installation Shows the Same data Rhön the other Deebot Plugin.
can you please help ne.

Failure connecting to ecovacs

Hi, thanks for this plugin.

When I run home bridge I get the following error:
[10/05/2020, 3:23:45 pm] [DeebotEcovacs] ERROR - Failure in connecting to ecovacs to retrieve your deebots! - Error: getaddrinfo ENOTFOUND portal-oc.ecouser.net
[10/05/2020, 3:23:45 pm] [DeebotEcovacs] ERROR - ERROR while getting deebots, will retry discovery in 1 minute

My account info is correct, country code AU.

Cheers

Not Found

here the log:

npm ERR! code E404
npm ERR! 404 Not Found - GET https://registry.npmjs.org/homebridge-deebotEcovacs - Not found
npm ERR! 404
npm ERR! 404 'homebridge-deebotEcovacs@latest' is not in the npm registry.
npm ERR! 404 Your package name is not valid, because
npm ERR! 404 1. name can no longer contain capital letters
npm ERR! 404
npm ERR! 404 Note that you can also install from a
npm ERR! 404 tarball, folder, http url, or git url.

New publish zone function

Please clarify how the zones correlate to areas mapped in the Deebot app. It appears that zones in the plugin can only be a numeric value and areas in the Deebot app cannot have custom numerical names to match (only default tags of kitchen, office, etc...). Sorry for the silly question, but I can’t figure out how to publish a switch for mapped areas in the app (AKA zones in the plugin). Thanks in advance! Best, Joe

OZMO950 - Area/Zone cleaning

Hi,

with Firmware version 1.7.9 it is possible to clean special areas or zones.
Is it currently only possible to clean by using "Auto" mode? Or can i currently use zone cleaning.

Thanks for reply! :-)

No Deebot found but API answers with 3 devices

Hi

I have three devices in my account. One is shared form another account, maybe this is the problem.
The plugin does not find any devices. Is it simple to solve or can I somehow add my device manually?

I tried with different country codes, but no luck.
Thanks for your work.

[2/21/2021, 8:26:51 AM] [DeebotEcovacs] INFO - stopping deebots discovery, number of deebots found : 0
[2/21/2021, 8:26:51 AM] [DeebotEcovacs] INFO - no deebot found, will retry discovery in 1 minute
[2/21/2021, 8:27:54 AM] [DeebotEcovacs] INFO - connected
[2/21/2021, 8:27:54 AM] [DeebotEcovacs] INFO - getDeebots : [{"did":"XXXX","name":"XXXX","class":"yna5xi","resource":"n2bX","nick":"Büro","company":"eco-ng","bindTs":XXXX,"service":{"jmq":"jmq-ngiot-eu.dc.ww.ecouser.net","mqs":"api-ngiot.dc-as.ww.ecouser.net"}},{"did":"XXXX","name":"XXXX","class":"yna5xi","resource":"N9vR","nick":null,"company":"eco-ng","bindTs":XXXX,"service":{"jmq":"jmq-ngiot-eu.dc.ww.ecouser.net","mqs":"api-ngiot.dc-as.ww.ecouser.net"},"sharedFrom":"XXXX"},{"did":"XXXX","name":"XXXX","class":"yna5xi","resource":"FuGe","nick":"Home","company":"eco-ng","bindTs":XXXX,"service":{"jmq":"jmq-ngiot-eu.dc.ww.ecouser.net","mqs":"api-ngiot.dc-as.ww.ecouser.net"}}]

Problems installing

Hello,

I am trying to install this Homebridge plug in and and unable. I get numerous errors. Other plugins are running/updating/installing without issue. I am installing it through Homebridge Config UI.

CMD: npm install homebridge-deebotecovacs@latest

npm WARN deprecated [email protected]: this package is deprecated please use https://www.npmjs.com/package/@xmpp/client
npm WARN deprecated [email protected]: request has been deprecated, see request/request#3142
npm WARN deprecated [email protected]: this package is deprecated please use https://github.com/xmppjs/xmpp.js
npm WARN deprecated [email protected]: this package is deprecated please use https://github.com/xmppjs/xmpp.js

[email protected] install /usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas
node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp WARN Tried to download(404): https://github.com/node-gfx/node-canvas-prebuilt/releases/download/v2.6.1/canvas-v2.6.1-node-v83-darwin-unknown-x64.tar.gz
node-pre-gyp WARN Pre-built binaries not found for [email protected] and [email protected] (node-v83 ABI, unknown) (falling back to source compile with node-gyp)
ERROR:root:code for hash md5 was not found.
Traceback (most recent call last):
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in
globals()[__func_name] = __get_hash(__func_name)
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type md5
ERROR:root:code for hash sha1 was not found.
Traceback (most recent call last):
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in
globals()[__func_name] = __get_hash(__func_name)
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha1
ERROR:root:code for hash sha224 was not found.
Traceback (most recent call last):
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in
globals()[__func_name] = __get_hash(__func_name)
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha224
ERROR:root:code for hash sha256 was not found.
Traceback (most recent call last):
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in
globals()[__func_name] = __get_hash(__func_name)
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha256
ERROR:root:code for hash sha384 was not found.
Traceback (most recent call last):
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in
globals()[__func_name] = __get_hash(__func_name)
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha384
ERROR:root:code for hash sha512 was not found.
Traceback (most recent call last):
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 147, in
globals()[__func_name] = __get_hash(__func_name)
File "/usr/local/Cellar/python@2/2.7.15_1/Frameworks/Python.framework/Versions/2.7/lib/python2.7/hashlib.py", line 97, in __get_builtin_constructor
raise ValueError('unsupported hash type ' + name)
ValueError: unsupported hash type sha512
Package cairo was not found in the pkg-config search path.
Perhaps you should add the directory containing cairo.pc' to the PKG_CONFIG_PATH environment variable No package 'cairo' found gyp: Call to 'pkg-config cairo --libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp gyp ERR! configure error gyp ERR! stack Error: gypfailed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16) gyp ERR! stack at ChildProcess.emit (events.js:315:20) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:276:12) gyp ERR! System Darwin 19.4.0 gyp ERR! command "/usr/local/Cellar/node/14.1.0/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas/build/Release" "--napi_version=6" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v83" gyp ERR! cwd /usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas gyp ERR! node -v v14.1.0 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/Cellar/node/14.1.0/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas/build/Release --napi_version=6 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83' (1) node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/node-pre-gyp/lib/util/compile.js:83:29) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:315:20) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1051:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:287:5) node-pre-gyp ERR! System Darwin 19.4.0 node-pre-gyp ERR! command "/usr/local/Cellar/node/14.1.0/bin/node" "/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd /usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas node-pre-gyp ERR! node -v v14.1.0 node-pre-gyp ERR! node-pre-gyp -v v0.11.0 node-pre-gyp ERR! not ok Failed to execute '/usr/local/Cellar/node/14.1.0/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas/build/Release --napi_version=6 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v83' (1) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] install:node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! ~/.npm/_logs/2020-05-04T16_55_37_741Z-debug.log

Problem installing

Hi. i have home bridge 1.0.4 on raspberry and have problems installing your plugin.

pi@homebridge:/var/lib/homebridge $ npm install -g homebridge-deebotecovacs
npm WARN deprecated [email protected]: this package is deprecated please use https://www.npmjs.com/package/@xmpp/client
npm WARN deprecated [email protected]: this package is deprecated please use https://github.com/xmppjs/xmpp.js
npm WARN deprecated [email protected]: request has been deprecated, see request/request#3142
npm WARN deprecated [email protected]: this package is deprecated please use https://github.com/xmppjs/xmpp.js
npm WARN checkPermissions Missing write access to /usr/local/lib/node_modules
npm ERR! code EACCES
npm ERR! syscall access
npm ERR! path /usr/local/lib/node_modules
npm ERR! errno -13
npm ERR! Error: EACCES: permission denied, access '/usr/local/lib/node_modules'
npm ERR! [Error: EACCES: permission denied, access '/usr/local/lib/node_modules'] {
npm ERR! stack: "Error: EACCES: permission denied, access '/usr/local/lib/node_modules'",
npm ERR! errno: -13,
npm ERR! code: 'EACCES',
npm ERR! syscall: 'access',
npm ERR! path: '/usr/local/lib/node_modules'
npm ERR! }
npm ERR!
npm ERR! The operation was rejected by your operating system.
npm ERR! It is likely you do not have the permissions to access this file as the current user
npm ERR!
npm ERR! If you believe this might be a permissions issue, please double-check the
npm ERR! permissions of the file and its containing directories, or try running
npm ERR! the command again as root/Administrator.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2020-05-04T13_50_57_254Z-debug.log
pi@homebridge:/var/lib/homebridge $

Pi hole

I have have set up pi hole, the connection as a delay of up to 10 sec.

Are there any domains I need to whitelist?

Ozmo T8

Just wanted to update on the closed thread RE T8 functionality... Still not working after library update and bug fix. Home bridge restart finds Deebot, but all calls to the device show timeout in the log and nothing works. I’m new, so please excuse if the issue is user error. Thanks in advance for looking into this!

Question: Create Custom Area Switch

Hi,

Firstly thank you for this project. It has been great to be able to get my Ecovacs into Homekit. I hope that in the future Apple will decide to support robot vacuums but in the meantime, this project perfectly handles any shortcomings.

My Ecovacs 950 has developed a weird problem where it randomly decides to only do the first 20% of my floor. This same behaviour is also experienced in the app, so in no way am I blaming this plugin.

However, what seems to fix this issue is if I run a custom area. However, I'm looking at the documentation of how to get map_position, but I'm struggling.

Could anyone please help me out?

Thanks

Compatibility with raspberry pi?

Hello,

thanks for your time and effort in developing this plugin! Have you by any chance verified if it works on a Pi?

I have setup homebridge on a Pi at my house and when I try to install deebotecovacs it seems like the install completes but then homebridge gets corrupt and the UI won't load anymore. I have tried this twice and I had the exact same outcome.

I confirm that I have run the command to compile canvas based on the link you provided.
sudo apt-get install build-essential libcairo2-dev libpango1.0-dev libjpeg-dev libgif-dev librsvg2-dev

Just wondered if you have managed to get this to work on a pi. Happy to provide debug info if this is something you want to look into.

Nik

Icons remaining after uninstall plug-in

Hello, yesterday the plug-in now worked with my Deboot 605, I used it for months without any problem.
Tried to remove the plug-in and reinstall but in HomeKit compare the oldest icons and the new one. How can clean up 100% of plug-in data to show HK without any icons?
Thanks
Stefano

Set characteristics

Hello guys, thank you so much for this plug in, I love it having it in my Home.

I have one request regarding the characteristics set on the plug-in. Could you add “Model”, “Manufacturer” and “Serial Number” to the settings so we can change them manually? Right now when you try to see the details of the vacuum in HomeKit it says “eco-ng” for manufacturer and nothing for the serial number. I have tried to change the .setCharacteristics on the js but it doesn’t seem to work. I have done that with other plugins but I can’t make this one work.

Thanks,

Ozmo T8: Only sounds works

I use the Deebot Ozmo T8 AIVI. Both in HomeKit and in HomeBridge, only the switch to play the sound works. The other switches do nothing (I tried both HomeKit and HomeBridge).

I'm using version 1.0.2.

SpotArea not being created "SpotArea Cleaning for XX : false"

Hello,

First off, congratulation to you plugin and for your effort in supporting it here! It is truly appreciated :-)

My issue:

  • the SpotAreas defined are not getting published

My status:

  • my HomeBridge and HomeKit are overall properly configured and working
  • your plugin does work normally, sound works
  • I used this table to define my Spot area ID's (maybe link it in your Wiki? it is quite helpful) -> mrbungle64/ecovacs-deebot.js#57
  • I read this (#43) bug report and can confirm that I manually used the correct configuration file format
  • I tried using just one ID or different ones to no different results
  • I rebooted my RaspberryPi between each config change to update the cache

My startup log:
[1/10/2021, 6:16:13 PM] Homebridge v1.2.5 is running on port 51374.
[1/10/2021, 6:16:15 PM] [DeebotEcovacs] INFO - stopping deebots discovery, number of deebots found : 1
[1/10/2021, 6:16:15 PM] [DeebotEcovacs] INFO - Discovered Deebot : Ozmo
[1/10/2021, 6:16:15 PM] [DeebotEcovacs] INFO - Edge Cleaning for Ozmo : true
[1/10/2021, 6:16:15 PM] [DeebotEcovacs] INFO - Spot Cleaning for Ozmo : true
[1/10/2021, 6:16:15 PM] [DeebotEcovacs] INFO - SpotArea Cleaning for Ozmo : false
[1/10/2021, 6:16:15 PM] [DeebotEcovacs] INFO - CustomArea Cleaning for Ozmo : false

My configuration:
{ "email": "_removed_", "password": "_removed_", "countryCode": "DE", "deebotNames": [ "Ozmo" ], "refreshTimer": 120, "publishBipSwitch": true, "publishSwitch": true, "publishFan": true, "publishMotionDetector": true, "publishAutoSwitch": true, "publishEdgeSwitch": false, "publishSpotSwitch": true, "publishSpotAreaSwitches": [ "0", "1", "3,4" ], "platform": "DeebotEcovacs" }

Thanks a lot and many greetings from Berlin

Robert

How to manage zones

Hello Nicolas,
I saw in change log that you had zone management but I did not find any information about how to define zones. Do I miss something?
Thanks in advance

Intégration jeedom

Bonjour
Comment peut-on l’intégrer à jeedom svp ?
Merci, je suis novice...

Deebot N79s Unresponsive Through the Home App v1.4.5-beta0-latest

Recreation:

  • Install the Homebridge Deebotecovacs v1.4.5-beta0-latest plugin
  • Open the Home app and attempt to control your Deebot N79s

Observed Result:

  • Deebot does not execute any actions or any triggers through the Home app or accessory control

Expected Result:

  • Deebot responds accordingly

Relative Log Message:

[DeebotEcovacs] INFO - stopping deebots discovery, number of deebots found : 1
[DeebotEcovacs] INFO - Discovered Deebot : S0M3TH1NG
[DeebotEcovacs] INFO - Edge Cleaning for S0M3TH1NG : true
[DeebotEcovacs] INFO - Spot Cleaning for S0M3TH1NG : true
[DeebotEcovacs] INFO - SpotArea Cleaning for S0M3TH1NG : false
[DeebotEcovacs] INFO - CustomArea Cleaning for S0M3TH1NG : false

(it doesn't actually say "S0M3TH1NG," but it gives the deebot code but like idk if that is confidential)...

Occurrence:

This issue is only occurring on the v1.4.5-beta0-latest version of the plugin, however, it works fine on version 1.4.4.

Additional Notes: There is actually no error message in the logs. The plugin successfully identifies the device and configuration but simply does not function. Seems to also not display the accurate battery status (percentage or charging) it just says 0% battery and status: "not charging" even though it is charging on the dock. It operates perfectly in the Ecovacs app.

Install failed using Homebridge Config UI

Attempted to install it with the homebridge config ui x version 4.21.0. Output below:

npm WARN deprecated [email protected]: this package is deprecated please use https://www.npmjs.com/package/@xmpp/client
npm WARN deprecated [email protected]: this package is deprecated please use https://github.com/xmppjs/xmpp.js
npm WARN deprecated [email protected]: request has been deprecated, see request/request#3142
npm WARN deprecated [email protected]: this package is deprecated please use https://github.com/xmppjs/xmpp.js

[email protected] install /usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas
node-pre-gyp install --fallback-to-build

node-pre-gyp WARN Using request for node-pre-gyp https download
node-pre-gyp WARN Tried to download(404): https://github.com/node-gfx/node-canvas-prebuilt/releases/download/v2.6.1/canvas-v2.6.1-node-v72-linux-glibc-arm.tar.gz
node-pre-gyp WARN Pre-built binaries not found for [email protected] and [email protected] (node-v72 ABI, glibc) (falling back to source compile with node-gyp)
Package pixman-1 was not found in the pkg-config search path.
Perhaps you should add the directory containing pixman-1.pc' to the PKG_CONFIG_PATH environment variable No package 'pixman-1' found gyp: Call to 'pkg-config pixman-1 --libs' returned exit status 1 while in binding.gyp. while trying to load binding.gyp gyp ERR! configure error gyp ERR! stack Error: gypfailed with exit code: 1 gyp ERR! stack at ChildProcess.onCpExit (/usr/local/lib/node_modules/npm/node_modules/node-gyp/lib/configure.js:351:16) gyp ERR! stack at ChildProcess.emit (events.js:310:20) gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:275:12) gyp ERR! System Linux 4.19.97-v7+ gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js" "configure" "--fallback-to-build" "--module=/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas/build/Release/canvas.node" "--module_name=canvas" "--module_path=/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas/build/Release" "--napi_version=5" "--node_abi_napi=napi" "--napi_build_version=0" "--node_napi_label=node-v72" gyp ERR! cwd /usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas gyp ERR! node -v v12.16.3 gyp ERR! node-gyp -v v5.1.0 gyp ERR! not ok node-pre-gyp ERR! build error node-pre-gyp ERR! stack Error: Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas/build/Release --napi_version=5 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1) node-pre-gyp ERR! stack at ChildProcess.<anonymous> (/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/node-pre-gyp/lib/util/compile.js:83:29) node-pre-gyp ERR! stack at ChildProcess.emit (events.js:310:20) node-pre-gyp ERR! stack at maybeClose (internal/child_process.js:1021:16) node-pre-gyp ERR! stack at Process.ChildProcess._handle.onexit (internal/child_process.js:286:5) node-pre-gyp ERR! System Linux 4.19.97-v7+ node-pre-gyp ERR! command "/usr/local/bin/node" "/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/.bin/node-pre-gyp" "install" "--fallback-to-build" node-pre-gyp ERR! cwd /usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas node-pre-gyp ERR! node -v v12.16.3 node-pre-gyp ERR! node-pre-gyp -v v0.11.0 node-pre-gyp ERR! not ok Failed to execute '/usr/local/bin/node /usr/local/lib/node_modules/npm/node_modules/node-gyp/bin/node-gyp.js configure --fallback-to-build --module=/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas/build/Release/canvas.node --module_name=canvas --module_path=/usr/local/lib/node_modules/homebridge-deebotecovacs/node_modules/canvas/build/Release --napi_version=5 --node_abi_napi=napi --napi_build_version=0 --node_napi_label=node-v72' (1) npm ERR! code ELIFECYCLE npm ERR! errno 1 npm ERR! [email protected] install:node-pre-gyp install --fallback-to-build`
npm ERR! Exit status 1
npm ERR!
npm ERR! Failed at the [email protected] install script.
npm ERR! This is probably not a problem with npm. There is likely additional logging output above.

npm ERR! A complete log of this run can be found in:
npm ERR! /home/pi/.npm/_logs/2020-06-03T02_48_31_095Z-debug.log

Command failed. Please review log for details.

Help-issue since you pulled the plugin

When the plugin was pulled, I had removed and tried to reinstall it. Somehow, now, it is stuck in limbo. I can’t install or uninstall any plugins on hooks/homebridge. I get the following error:

Error while executing:
npm ERR!
/usr/bin/git ls-remote -h -t https://github.com/nicoduj/sucks.js.git
npm ERR!
npm ERR!
remote: Invalid username or password.
npm ERR! fatal: Authentication failed for 'https://github.com/nicoduj/sucks.js.git/'
npm ERR!
npm ERR! exited with error code: 128

Please help! What can I do to remove this dependency? Your plugin is no longer installed, but it keeps trying to connect. I really really don’t want to rebuild the whole home bridge setup! Thank you.

Can't start Deebot 711s but stop it

I have a 711s and a 79s. The 79s (Connor) works fine. The 711s (Dylan) won't start. When I try to start it I get a cleaning status of undefined. If I start the 711s from the Ecovacs app I get a good status in homebridge. And if the vac is running I can turn it off and it returns to charge.

[11/14/2020, 4:07:00 PM] [DeebotEcovacs] INFO - Clean status for Connor : stop [11/14/2020, 4:07:00 PM] [DeebotEcovacs] INFO - Battery level for Connor : 100 100 0 [11/14/2020, 4:07:00 PM] [DeebotEcovacs] INFO - Charge status for Connor : charging false true [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getDeebotEcovacsOnCharacteristic for Connor [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getDeebotEcovacsSpeedCharacteristic for Connor [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getDeebotEcovacsOnCharacteristic for Connor [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getLowBatteryCharacteristic for Connor [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getDeebotEcovacsOnCharacteristic for Dylan [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getLowBatteryCharacteristic for Dylan [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getDeebotEcovacsSpeedCharacteristic for Dylan [11/14/2020, 4:07:09 PM] [DeebotEcovacs] INFO - getDeebotEcovacsOnCharacteristic for Dylan [11/14/2020, 4:07:10 PM] [DeebotEcovacs] INFO - Clean status for Connor : stop [11/14/2020, 4:07:10 PM] [DeebotEcovacs] INFO - Charge status for Connor : charging false true [11/14/2020, 4:07:11 PM] [DeebotEcovacs] INFO - Clean status for Dylan : stop [11/14/2020, 4:07:11 PM] [DeebotEcovacs] INFO - Charge status for Dylan : charging false true [11/14/2020, 4:07:11 PM] [DeebotEcovacs] INFO - Charge status for Dylan : charging false true [11/14/2020, 4:07:11 PM] [DeebotEcovacs] INFO - Clean status for Dylan : stop [11/14/2020, 4:07:11 PM] [DeebotEcovacs] INFO - Clean status for Connor : stop [11/14/2020, 4:07:11 PM] [DeebotEcovacs] INFO - Charge status for Connor : charging false true [11/14/2020, 4:07:17 PM] [DeebotEcovacs] INFO - setDeebotEcovacsOnCharacteristic for Dylan-true-false-Clean,auto [11/14/2020, 4:07:18 PM] [DeebotEcovacs] INFO - Clean status for Dylan : undefined [11/14/2020, 4:07:21 PM] [DeebotEcovacs] INFO - setDeebotEcovacsOnCharacteristic for Dylan-true-false-Clean,auto [11/14/2020, 4:07:22 PM] [DeebotEcovacs] INFO - Clean status for Dylan : undefined

Nick is not always there

If it is not, handle it ;)

Found the issue and got it fixed. https://github.com/nicoduj/homebridge-deebotEcovacs/blob/master/index.js#L112 Assumes that nick is always there and tries to use it for generating a UUID which is what causes the error. Renaming in the Ecovacs app at least once causes nick to come down and fixes the issue. Might need either a default here for cases where its not yet set, or printing an error and gracefully exiting the setup instead of having Homebridge crash loop.

[DeebotEcovacs] INFO - Error from deebot Ozmo : Request Timeout

Hello all,

I am not sure how I caused it but right now the deebotEcovacs plugin always makes my Homebridge crash. I uninstalled and removed the config and accessories, upgraded all (nodes, home bridge, etc.) and then re installed all to no avail.

After startup the plugin tries to connect every split second and fails, thus pilling up lots of uncleared memory.
The system memory is then shrinking by the second, you can see the counter sinking fast until it crashes.

When I turn on debug immediately after startup this comes up spamming the log:

...
[2/10/2021, 2:01:23 AM] [DeebotEcovacs] INFO - Error from deebot Ozmo : Request Timeout 
[2/10/2021, 2:01:23 AM] [DeebotEcovacs] INFO - Error from deebot Ozmo : Request Timeout 
[2/10/2021, 2:01:23 AM] [DeebotEcovacs] INFO - Error from deebot Ozmo : Request Timeout
...

For reference my config:
{ "email": "____", "password": "_____", "countryCode": "DE", "deebotNames": [ "Ozmo" ], "refreshTimer": 300, "publishBipSwitch": true, "publishSwitch": true, "publishFan": false, "publishMotionDetector": false, "publishAutoSwitch": true, "publishEdgeSwitch": false, "publishSpotSwitch": true, "publishSpotAreaSwitches": [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12", "13", "14" ], "platform": "DeebotEcovacs" }

I am grateful for any hint or suggestion.

Note, I tripple checked the Pi connectivity, all works fine, DNS is healthy, Homebridge and all other plugins work and connect to the great wide world as well as my home network happily. I also do not have any packet loss problems.

With greetings

Robert

The plugin forces a restart after a crash

Unfortunately the plugin crashes and forces a restart?

[26/12/2020, 12:03:08] Error [ERR_UNHANDLED_ERROR]: Unhandled error. ('Error: read ECONNRESET')
    at EcovacsMQTT_JSON.emit (events.js:304:17)
    at MqttClient.<anonymous> (/usr/local/lib/node_modules/homebridge-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:48:25)
    at MqttClient.emit (events.js:327:22)
    at TLSSocket.streamErrorHandler (/usr/local/lib/node_modules/homebridge-deebot/node_modules/mqtt/lib/client.js:343:12)
    at TLSSocket.emit (events.js:327:22)
    at emitErrorNT (internal/streams/destroy.js:106:8)
    at emitErrorCloseNT (internal/streams/destroy.js:74:3)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
[26/12/2020, 12:07:25] Error [ERR_UNHANDLED_ERROR]: Unhandled error. ('Error: connect ECONNREFUSED 47.254.143.26:8883')
    at EcovacsMQTT_JSON.emit (events.js:304:17)
    at MqttClient.<anonymous> (/usr/local/lib/node_modules/homebridge-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:48:25)
    at MqttClient.emit (events.js:327:22)
    at TLSSocket.streamErrorHandler (/usr/local/lib/node_modules/homebridge-deebot/node_modules/mqtt/lib/client.js:343:12)
    at TLSSocket.emit (events.js:327:22)
    at emitErrorNT (internal/streams/destroy.js:106:8)
    at emitErrorCloseNT (internal/streams/destroy.js:74:3)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)
[26/12/2020, 12:07:25] Got SIGTERM, shutting down Homebridge...
[26/12/2020, 12:07:26] Error [ERR_UNHANDLED_ERROR]: Unhandled error. ('Error: connect ECONNREFUSED 47.254.143.26:8883')
    at EcovacsMQTT_JSON.emit (events.js:304:17)
    at MqttClient.<anonymous> (/usr/local/lib/node_modules/homebridge-deebot/node_modules/ecovacs-deebot/library/ecovacsMQTT.js:48:25)
    at MqttClient.emit (events.js:327:22)
    at TLSSocket.streamErrorHandler (/usr/local/lib/node_modules/homebridge-deebot/node_modules/mqtt/lib/client.js:343:12)
    at TLSSocket.emit (events.js:327:22)
    at emitErrorNT (internal/streams/destroy.js:106:8)
    at emitErrorCloseNT (internal/streams/destroy.js:74:3)
    at processTicksAndRejections (internal/process/task_queues.js:80:21)

Homebridge cannot find my deebot vaccum 920,

I already follow the instruction on how to configure connection with my account. But homebridge cannot find my deebot 920 vaccum eventhough i already set all the connection string. Any help?

Can't find platform after install

I followed to installation instructions:
npm i homebridge-deebotecovacs
and made changes in config.json, I got next error when I try to start homebridge:
[6/1/2020, 8:23:03 PM] Error: The requested platform 'DeebotEcovacs' was not registered by any plugin.
at PluginManager.getPluginForPlatform (/usr/lib/node_modules/homebridge/src/pluginManager.ts:224:15)
at config.platforms.forEach (/usr/lib/node_modules/homebridge/src/server.ts:386:37)
at Array.forEach ()
at Server.loadPlatforms (/usr/lib/node_modules/homebridge/src/server.ts:373:27)
at Server.start (/usr/lib/node_modules/homebridge/src/server.ts:152:29)
at cli (/usr/lib/node_modules/homebridge/src/cli.ts:80:10)
at Object. (/usr/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)

Can't connect to my deebot

Hey,

Very new here and only just started playing around with Homebridge. I did install the deebotEcovacs plugin but when I restart, I get this message:

[3/18/2021, 11:11:00 PM] [DeebotEcovacs] ERROR - Failure in connecting to ecovacs to retrieve your deebots! - Error: getaddrinfo ENOTFOUND portal-oc.ecouser.net
[3/18/2021, 11:11:00 PM] [DeebotEcovacs] ERROR - ERROR while getting deebots, will retry discovery in 1 minute

Anybody has an idea what I'm doing wrong?

I have the Deebot Ozmo 900

Cheers

Using two DeebotSlim with the plugin

Hi,

I just installed the Plugin an successfully connected to my Ecovacs Account.
I got 2 Deebot Slim in my Account.
The Homebridge Plugin will add both to my HOME

When I activate my Floor Deebot the Switch State from my Living Room Deebot will have the same state.
Example, activating Floor, State from Floor and Living Room switches to ON (only Floor as desired will clean)
activating Living Room, State from Living Room and Floor switches to ON (only Living Room as desired will clean)
So I can control each device separately, but HomeKit State will be duplicated for both devices.
Similar behavior for motion and battery.

Did I made a mistake adding my Ecovacs?

Thanks

Not seeing the new switches from 1.0 update

I am now on 1.1 and you are on a roll! Are these switches available now or are they still in development. I read the change log and it appears i should be seeing 4 different switches for the vacuum.

HomeKit unable to control Deebot after it enters sleep mode

Hi there,

I have not been able to control my Deebot after it returns to the charger and enters the sleep mode. When I control any of the Deebot options in HomeKit, they will "turn on" and then turn off a while later – my Deebot doesn't respond at all.

When I start vacuuming from the Ecovacs app, the Deebot wakes up and vacuums as it should – and the icons all update to their appropriate status in HomeKit. I can control it via HomeKit after this, until it returns to the charger and goes back to sleep.

Any ideas?

Plugin causes huge amount of dns request

This plugin pings the url portal-eu.ecouser.net every second.
Sometimes multiple times per second.
It pinged portal-eu.ecouser.net 229.668 times the last 7 days.
Set the refresh timer to 120. Seems not to work.

Please check on that 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.