mrbungle64 / ecovacs-deebot.js

A Node.js library for running Ecovacs Deebot and yeedi vacuum cleaner robots
GNU General Public License v3.0
115 stars 37 forks source link

AirFreshening / aromamode not working #283

Open cactusss opened 1 year ago

cactusss commented 1 year ago

Is there an existing issue for this?

The problem

When changing the Air Freshing (in the Ecovans mobile app) the AirFreshening event isn't fired.

With the debuging mode see an MQTT payload coming in where the content contains an aromamode that changes to 0 when turend off, and 1 when turned on.

With which model does the problem occur?

Deebot T9 series

From which source you have installed the library?

GitHub

Version of the ecovacs-deebot.js library

0.9.1

Version of Node.js

v18.12.1

Operating system

Windows

Anything in the logs that might be useful?

No response

Additional information

No response

mrbungle64 commented 1 year ago

@cactusss

The AirFreshening event is currently only working with the AirBot Z1 (Air Purifier). Not all events or commands handled in the code, are confirmed to work (for all possible models) ...

mrbungle64 commented 1 year ago

@cactusss

With the debuging mode see an MQTT payload coming in where the content contains an aromamode that changes to 0 when turend off, and 1 when turned on.

Why don't you post the specific payload directly?

mrbungle64 commented 1 year ago

@cactusss

Btw: Where can I find the repository of your project?

cactusss commented 1 year ago

@cactusss

With the debuging mode see an MQTT payload coming in where the content contains an aromamode that changes to 0 when turend off, and 1 when turned on.

Why don't you post the specific payload directly?

You mean this: {"content":"{\"rn\":\"bd_setting\",\"d\":{\"header\":{\"pri\":1,\"tzm\":480,\"ts\":\"1673182887542\",\"ver\":\"0.0.1\",\"fwVer\":\"2.5.5\",\"hwVer\":\"0.1.1\"},\"body\":{\"data\":{\"d_id\":\"465781\",\"d_sum\":1,\"d_seq\":0,\"d_val\":{\"gid\":\"G1672729495988\",\"index\":\"0000000294\",\"simpleMode\":0,\"isPressurized\":1,\"fanspeed\":0,\"continue\":0,\"waterAmount\":1,\"DND\":1,\"mopremind\":0,\"mopmode\":3,\"aromamode\":0,\"personalClean\":0,\"autocollect\":1,\"occurrenceTime\":\"1673182887521\"}}}}}"}

@cactusss

The AirFreshening event is currently only working with the AirBot Z1 (Air Purifier). Not all events or commands handled in the code, are confirmed to work (for all possible models) ...

Bummer. Since the aromamode exists, why not implement it ;)

@cactusss

Btw: Where can I find the repository of your project?

You can't. Yet. I don't know yet how to publish it to GitHub, I'll figure that out as soon as I have published my app in the Homey App store. But it's not complete yet. I you want to have a loog at what I'v got until now I can send you a zip or something

mrbungle64 commented 1 year ago

@cactusss

@cactusss

With the debuging mode see an MQTT payload coming in where the content contains an aromamode that changes to 0 when turend off, and 1 when turned on.

Why don't you post the specific payload directly?

You mean this: {"content":"{\"rn\":\"bd_setting\",\"d\":{\"header\":{\"pri\":1,\"tzm\":480,\"ts\":\"1673182887542\",\"ver\":\"0.0.1\",\"fwVer\":\"2.5.5\",\"hwVer\":\"0.1.1\"},\"body\":{\"data\":{\"d_id\":\"465781\",\"d_sum\":1,\"d_seq\":0,\"d_val\":{\"gid\":\"G1672729495988\",\"index\":\"0000000294\",\"simpleMode\":0,\"isPressurized\":1,\"fanspeed\":0,\"continue\":0,\"waterAmount\":1,\"DND\":1,\"mopremind\":0,\"mopmode\":3,\"aromamode\":0,\"personalClean\":0,\"autocollect\":1,\"occurrenceTime\":\"1673182887521\"}}}}}"}

Yes, but this is the payload of one of the FwBuryPoint messages, right?

I don't think that the FwBuryPoint messages are part of the API. I think it's more for debugging purposes or something similar.

@cactusss The AirFreshening event is currently only working with the AirBot Z1 (Air Purifier). Not all events or commands handled in the code, are confirmed to work (for all possible models) ...

Bummer. Since the aromamode exists, why not implement it ;)

Of course I can implement it, but as long as we only have the FwBuryPoint message that contains the aromamode value, it'll be more like a "bonus" event...

@cactusss Btw: Where can I find the repository of your project?

You can't. Yet. I don't know yet how to publish it to GitHub, I'll figure that out as soon as I have published my app in the Homey App store. But it's not complete yet.

Why don't you publish it directly? 😉 Sooner or later it will become mandatory anyway...

I you want to have a loog at what I'v got until now I can send you a zip or something

It's not really necessary (if you publish it sooner or later) 😉

cactusss commented 1 year ago

@cactusss Yes, but this is the payload of one of the FwBuryPoint messages, right?

I don't think that the FwBuryPoint messages are part of the API. I think it's more for debugging purposes or something similar.

@cactusss The AirFreshening event is currently only working with the AirBot Z1 (Air Purifier). Not all events or commands handled in the code, are confirmed to work (for all possible models) ...

Bummer. Since the aromamode exists, why not implement it ;)

Of course I can implement it, but as long as we only have the FwBuryPoint message that contains the aromamode value, it'll be more like a "bonus" event...

Please do ;)

@cactusss Btw: Where can I find the repository of your project?

You can't. Yet. I don't know yet how to publish it to GitHub, I'll figure that out as soon as I have published my app in the Homey App store. But it's not complete yet.

Why don't you publish it directly? 😉 Sooner or later it will become mandatory anyway...

You got a point, I'll have to anyway. Don't have a clue what I'm doing with Github Desktop (suddenly I had 6 repositories, it cleaned them up) but here it is: https://github.com/cactusss/nl.onzewifi.DeebotT9

mrbungle64 commented 1 year ago

@cactusss

This is actually a fork of this repository, right? 😉 What is the difference between that two implementations?

You can send me an email to start a conversation on Discord, if you like. (I'll give you my Discord username via email)

cactusss commented 1 year ago

Yes it is, Olivier is aware of it and doesn't mind. I didn't fork is (the right way) just downloaded his code and made some additions. Like exta capabilities. It's just a hobby project :p

Since his app a generic (for several Deebot types) and mine is (for now) specifically for versions with amopping system maybe Athom allows the two versions.

And who knows, maybe I'll find a way to make it possible for the app to run for non-mopping-systems too.

For now I only have the problem of the (not) unsubscribing to the MQTT messages preventing me to publish te app ;)

mrbungle64 commented 1 year ago

@cactusss

Yes it is, Olivier is aware of it and doesn't mind. I didn't fork is (the right way) just downloaded his code and made some additions. Like exta capabilities. It's just a hobby project :p

Since his app a generic (for several Deebot types) and mine is (for now) specifically for versions with amopping system maybe Athom allows the two versions.

And who knows, maybe I'll find a way to make it possible for the app to run for non-mopping-systems too.

Ok, thanks for the information 👍🏻

For now I only have the problem of the (not) unsubscribing to the MQTT messages preventing me to publish te app ;)

I'm already working on it 😉

cactusss commented 1 year ago

Excelent! Thanks a lot!!

mrbungle64 commented 1 year ago

@cactusss

Of course I can implement it, but as long as we only have the FwBuryPoint message that contains the aromamode value, it'll be more like a "bonus" event...

Please do ;)

https://github.com/mrbungle64/ecovacs-deebot.js/commit/efebc931fd71ef77235114c7301da1bcfd6f5274

mrbungle64 commented 1 year ago

@cactusss

I just released 0.9.2-alpha.4. AromaMode event is available now.

cactusss commented 1 year ago

Lovely! Thanks again, I'm going to implement that too.

cactusss commented 1 year ago

This vacbot.on('AromaMode', (mode) => { this.log('onAromaMode:' + mode) }); works fine. Any chance of getting a SetAromaMode and GetAromaMode? 😇

mrbungle64 commented 1 year ago

@cactusss

Any chance of getting a SetAromaMode and GetAromaMode? innocent

Do you know the cmdName? Is it setAromaMode and getAromaMode?

mrbungle64 commented 1 year ago

This vacbot.on('AromaMode', (mode) => { this.log('onAromaMode:' + mode) }); works fine.

Great 👍🏻

cactusss commented 1 year ago

I don’t understand your question. The commands don’t exist (I searched for them). The “vacbot.on('AromaMode')” was tested in my app and works fine when I change the Air Freshening setting in the Ecovacs mobile app, I would like to be able to change the settings from my own app.

Van: Sascha @.> Verzonden: donderdag 12 januari 2023 21:18 Aan: mrbungle64/ecovacs-deebot.js @.> CC: cactusss @.>; Mention @.> Onderwerp: Re: [mrbungle64/ecovacs-deebot.js] AirFreshening / aromamode not working (Issue #283)

@cactussshttps://github.com/cactusss

This vacbot.on('AromaMode', (mode) => { this.log('onAromaMode:' + mode) }); works fine. Any chance of getting a SetAromaMode and GetAromaMode? innocent

Do you know the cmdName? Is it setAromaMode and getAromaMode?

— Reply to this email directly, view it on GitHubhttps://github.com/mrbungle64/ecovacs-deebot.js/issues/283#issuecomment-1380950248, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AI5X3KPLT3JM7SQ77E6427DWSBRGZANCNFSM6AAAAAATUR7E4Y. You are receiving this because you were mentioned.Message ID: @.**@.>>

mrbungle64 commented 1 year ago

@cactusss

I don’t understand your question. The commands don’t exist (I searched for them). The “vacbot.on('AromaMode')” was tested in my app and works fine when I change the Air Freshening setting in the Ecovacs mobile app, I would like to be able to change the settings from my own app.

I understand that you want to change the settings, but I don't know the command (cmdName). I don't own a device with the "aroma" function, so I need the commands which the Ecovacs API requires.

I already told you on Jan 08 that the FwBuryPoint message is not part of the regular API ...

Yes, but this is the payload of one of the FwBuryPoint messages, right?

I don't think that the FwBuryPoint messages are part of the API. I think it's more for debugging purposes or something similar.

... and that it'll be more like a "bonus" event

Of course I can implement it, but as long as we only have the FwBuryPoint message that contains the aromamode value, it'll be more like a "bonus" event...

mrbungle64 commented 1 year ago

@cactusss

The commands don’t exist (I searched for them). The “vacbot.on('AromaMode')” was tested in my app and works fine

I know. That is because I only implemented the AromaMode event because you asked for it. But as I already said this was more like a "bonus" event ...

Edit: To be more precise, the event name in the FwBuryPoint payload differs from the regular event name, so I can't just derive it in that case.

cactusss commented 1 year ago

Okay. Thanks.

I tried to find a way do decrypt the messages from/to the Deebot, and/or from/to my Android, but to no avail. I’ll guess we have to let this one go 😊

Van: Sascha @.> Verzonden: donderdag 12 januari 2023 21:47 Aan: mrbungle64/ecovacs-deebot.js @.> CC: cactusss @.>; Mention @.> Onderwerp: Re: [mrbungle64/ecovacs-deebot.js] AirFreshening / aromamode not working (Issue #283)

@cactussshttps://github.com/cactusss

I don’t understand your question. The commands don’t exist (I searched for them). The “vacbot.on('AromaMode')” was tested in my app and works fine when I change the Air Freshening setting in the Ecovacs mobile app, I would like to be able to change the settings from my own app.

I understand that you want to change the settings, but I don't know the command (cmdName). I don't own a device with the "aroma" function, so I need the commands which the Ecovacs API requires.

I already told you on Jan 08 that the FwBuryPoint message is not part of the regular API:

Yes, but this is the payload of one of the FwBuryPoint messages, right? I don't think that the FwBuryPoint messages are part of the API. I think it's more for debugging purposes or something similar.

— Reply to this email directly, view it on GitHubhttps://github.com/mrbungle64/ecovacs-deebot.js/issues/283#issuecomment-1380976724, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AI5X3KL4TGY3OS2P7NIJBITWSBUU7ANCNFSM6AAAAAATUR7E4Y. You are receiving this because you were mentioned.Message ID: @.**@.>>