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

Retrieve values for air quality returns code 500 #414

Closed p08dev closed 4 months ago

p08dev commented 9 months ago

Is there an existing issue for this?

The problem

The command returns the following error: {"type":"LastError","value":{"error":"Request Timeout (command 'getAirQuality')","code":"500"}}

Screenshot 2023-11-22 at 09 26 18

With which model does the problem occur?

Other model (Please fill out the fields at the bottom of the form)

From which source you have installed the library?

GitHub

Version of the ecovacs-deebot.js library

0.9.5

Version of Node.js

Node-RED 16.0.2

Operating system

Linux

Anything in the logs that might be useful?

No response

Additional information

Airbot Z1

mrbungle64 commented 9 months ago

@p08dev

I will try to reproduce this issue when I receive my Airbot Z1 at the end of next week.

mrbungle64 commented 8 months ago

@p08dev

Please try version 0.4.10 😉

bhuebschen commented 8 months ago

looks like ecovacs has changed some commands.. they send "getAirQuality0" instead of "getAirQuality" from the app

mrbungle64 commented 8 months ago

Hey @bhuebschen

looks like ecovacs has changed some commands.. they send "getAirQuality0" instead of "getAirQuality" from the app

Did you recognize it using mitmproxy?

bhuebschen commented 8 months ago

i saw it last time i was looking for the problem... but now it's gone 😂

{
    "app": {
        "id": "ecovacs"
    },
    "auth": {
        "realm": "ecouser.net",
        "resource": "***",
        "token": "***",
        "userid": "***",
        "with": "users"
    },
    "cmdName": "getAirQuality",
    "payload": {
        "body": {
            "data": {}
        },
        "header": {
            "pri": 1,
            "ts": "***",
            "tzm": ***,
            "ver": "0.0.50"
        }
    },
    "payloadType": "j",
    "td": "q",
    "toId": "***",
    "toRes": "***",
    "toType": "sdp1y1"
}

is currently sent from the App

bhuebschen commented 8 months ago

i saw it last time i was looking for the problem... but now it's gone 😂

{
    "app": {
        "id": "ecovacs"
    },
    "auth": {
        "realm": "ecouser.net",
        "resource": "***",
        "token": "***",
        "userid": "***",
        "with": "users"
    },
    "cmdName": "getAirQuality",
    "payload": {
        "body": {
            "data": {}
        },
        "header": {
            "pri": 1,
            "ts": "***",
            "tzm": ***,
            "ver": "0.0.50"
        }
    },
    "payloadType": "j",
    "td": "q",
    "toId": "***",
    "toRes": "***",
    "toType": "sdp1y1"
}

is currently sent from the App

bhuebschen commented 8 months ago

but the command has an HTTP-answer, containing the desired data:

{
    "id": "oOsJ",
    "payloadType": "j",
    "resp": {
        "body": {
            "code": 0,
            "data": {
                "aq": 1,
                "hum": 32,
                "pm10": 1,
                "pm25": 1,
                "pm_10": 1,
                "tem": 21,
                "voc": 1
            },
            "msg": "ok"
        },
        "header": {
            "fwVer": "1.15.8",
            "hwVer": "0.1.1",
            "pri": 1,
            "ts": "***",
            "tzm": 60,
            "ver": "0.0.1",
            "wkVer": "0.1.54"
        }
    },
    "ret": "ok"
}
bhuebschen commented 8 months ago

and it seems that it's not the only command that now sends it's answers via http

stale[bot] commented 5 months ago

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

stale[bot] commented 4 months ago

This issue has been automatically closed.