question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

No infomation about battery - area - time.

See original GitHub issue

Describe the bug

I successfully installed valetudo but i can’t find out why i can’t retrieve information about battery status, area and time. I believe this issue have to do with miio (maybe i have done wrong about firewall rules or something wrong with config file). Any advice what can i do?

You can find some log files and screenshots bellow.

Screenshots

Screenshot_1

<30>Jan  8 05:51:36 valetudo[712]: [1970-01-07T21:51:36.445Z] [DEBUG] local request 2 get_consumable timed out
<30>Jan  8 05:51:36 valetudo[712]: [1970-01-07T21:51:36.457Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":1003}
<30>Jan  8 05:51:36 valetudo[712]: [1970-01-07T21:51:36.961Z] [DEBUG] local request 1003 get_consumable timed out
<30>Jan  8 05:51:36 valetudo[712]: [1970-01-07T21:51:36.965Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":2004}
<30>Jan  8 05:51:37 valetudo[712]: [1970-01-07T21:51:37.467Z] [DEBUG] local request 2004 get_consumable timed out
<30>Jan  8 05:51:37 valetudo[712]: [1970-01-07T21:51:37.476Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":3005}
<30>Jan  8 05:51:37 valetudo[712]: [1970-01-07T21:51:37.981Z] [DEBUG] local request 3005 get_consumable timed out
<30>Jan  8 05:51:37 valetudo[712]: [1970-01-07T21:51:37.991Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":4006}
<30>Jan  8 05:51:38 valetudo[712]: [1970-01-07T21:51:38.497Z] [DEBUG] local request 4006 get_consumable timed out
<30>Jan  8 05:51:38 valetudo[712]: [1970-01-07T21:51:38.500Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":5007}
<30>Jan  8 05:51:39 valetudo[712]: [1970-01-07T21:51:39.002Z] [DEBUG] local request 5007 get_consumable timed out
<30>Jan  8 05:51:39 valetudo[712]: [1970-01-07T21:51:39.004Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":6008}
<30>Jan  8 05:51:39 valetudo[712]: [1970-01-07T21:51:39.507Z] [DEBUG] local request 6008 get_consumable timed out
<30>Jan  8 05:51:39 valetudo[712]: [1970-01-07T21:51:39.514Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":7009}
<30>Jan  8 05:51:40 valetudo[712]: [1970-01-07T21:51:40.020Z] [DEBUG] local request 7009 get_consumable timed out
<30>Jan  8 05:51:40 valetudo[712]: [1970-01-07T21:51:40.023Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":8010}
<30>Jan  8 05:51:40 valetudo[712]: [1970-01-07T21:51:40.525Z] [DEBUG] local request 8010 get_consumable timed out
<30>Jan  8 05:51:40 valetudo[712]: [1970-01-07T21:51:40.533Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":9011}
<30>Jan  8 05:51:41 valetudo[712]: [1970-01-07T21:51:41.038Z] [DEBUG] local request 9011 get_consumable timed out
<27>Jan  8 05:51:41 valetudo[712]: [1970-01-07T21:51:41.041Z] [WARN] Token is okay, however we're unable to reach the vacuum { retries: 10, method: 'get_consumable', args: [] }
<30>Jan  8 05:51:41 valetudo[712]: [1970-01-07T21:51:41.053Z] [DEBUG] >>> local: HandshakePacket()
<30>Jan  8 05:51:41 valetudo[712]: [1970-01-07T21:51:41.057Z] [DEBUG] <<< local* {"stamp":23}
<30>Jan  8 05:51:41 valetudo[712]: [1970-01-07T21:51:41.057Z] [DEBUG] >>> local* {"stamp":23}
<30>Jan  8 05:51:41 valetudo[712]: [1970-01-07T21:51:41.058Z] [DEBUG] <<= local: handshake complete
<30>Jan  8 05:51:41 valetudo[712]: [1970-01-07T21:51:41.060Z] [DEBUG] <<< local* {"stamp":23}
<30>Jan  8 05:51:41 valetudo[712]: [1970-01-07T21:51:41.061Z] [DEBUG] local: Discarding pong
<30>Jan  8 05:51:41 valetudo[712]: [1970-01-07T21:51:41.356Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":10012}
<30>Jan  8 05:51:41 valetudo[712]: [1970-01-07T21:51:41.858Z] [DEBUG] local request 10012 get_consumable timed out
<30>Jan  8 05:51:41 valetudo[712]: [1970-01-07T21:51:41.861Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":11013}
<30>Jan  8 05:51:42 valetudo[712]: [1970-01-07T21:51:42.363Z] [DEBUG] local request 11013 get_consumable timed out
<30>Jan  8 05:51:42 valetudo[712]: [1970-01-07T21:51:42.365Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":12014}
<30>Jan  8 05:51:42 valetudo[712]: [1970-01-07T21:51:42.867Z] [DEBUG] local request 12014 get_consumable timed out
<30>Jan  8 05:51:42 valetudo[712]: [1970-01-07T21:51:42.869Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":13015}
<30>Jan  8 05:51:43 valetudo[712]: [1970-01-07T21:51:43.371Z] [DEBUG] local request 13015 get_consumable timed out
<30>Jan  8 05:51:43 valetudo[712]: [1970-01-07T21:51:43.378Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":14016}
<30>Jan  8 05:51:43 valetudo[712]: [1970-01-07T21:51:43.882Z] [DEBUG] local request 14016 get_consumable timed out
<30>Jan  8 05:51:43 valetudo[712]: [1970-01-07T21:51:43.885Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":15017}
<30>Jan  8 05:51:44 valetudo[712]: [1970-01-07T21:51:44.385Z] [DEBUG] local request 15017 get_consumable timed out
<30>Jan  8 05:51:44 valetudo[712]: [1970-01-07T21:51:44.387Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":16018}
<30>Jan  8 05:51:44 valetudo[712]: [1970-01-07T21:51:44.889Z] [DEBUG] local request 16018 get_consumable timed out
<30>Jan  8 05:51:44 valetudo[712]: [1970-01-07T21:51:44.897Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":17019}
<30>Jan  8 05:51:45 valetudo[712]: [1970-01-07T21:51:45.401Z] [DEBUG] local request 17019 get_consumable timed out
<30>Jan  8 05:51:45 valetudo[712]: [1970-01-07T21:51:45.404Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":18020}
<30>Jan  8 05:51:45 valetudo[712]: [1970-01-07T21:51:45.905Z] [DEBUG] local request 18020 get_consumable timed out
<30>Jan  8 05:51:45 valetudo[712]: [1970-01-07T21:51:45.908Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":19021}
<30>Jan  8 05:51:46 valetudo[712]: [1970-01-07T21:51:46.410Z] [DEBUG] local request 19021 get_consumable timed out
<27>Jan  8 05:51:46 valetudo[712]: [1970-01-07T21:51:46.412Z] [WARN] Token is okay, however we're unable to reach the vacuum { retries: 20, method: 'get_consumable', args: [] }
<30>Jan  8 05:51:46 valetudo[712]: [1970-01-07T21:51:46.414Z] [DEBUG] >>> local: HandshakePacket()
<30>Jan  8 05:51:46 valetudo[712]: [1970-01-07T21:51:46.416Z] [DEBUG] <<< local* {"stamp":28}
<30>Jan  8 05:51:46 valetudo[712]: [1970-01-07T21:51:46.417Z] [DEBUG] >>> local* {"stamp":28}
<30>Jan  8 05:51:46 valetudo[712]: [1970-01-07T21:51:46.418Z] [DEBUG] <<= local: handshake complete
<30>Jan  8 05:51:46 valetudo[712]: [1970-01-07T21:51:46.419Z] [DEBUG] <<< local* {"stamp":28}
<30>Jan  8 05:51:46 valetudo[712]: [1970-01-07T21:51:46.420Z] [DEBUG] local: Discarding pong
<30>Jan  8 05:51:46 valetudo[712]: [1970-01-07T21:51:46.718Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":20022}
<30>Jan  8 05:51:47 valetudo[712]: [1970-01-07T21:51:47.219Z] [DEBUG] local request 20022 get_consumable timed out
<30>Jan  8 05:51:47 valetudo[712]: [1970-01-07T21:51:47.222Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":21023}
<30>Jan  8 05:51:47 valetudo[712]: [1970-01-07T21:51:47.724Z] [DEBUG] local request 21023 get_consumable timed out
<30>Jan  8 05:51:47 valetudo[712]: [1970-01-07T21:51:47.726Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":22024}
<30>Jan  8 05:51:48 valetudo[712]: [1970-01-07T21:51:48.229Z] [DEBUG] local request 22024 get_consumable timed out
<30>Jan  8 05:51:48 valetudo[712]: [1970-01-07T21:51:48.231Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":23025}
<30>Jan  8 05:51:48 valetudo[712]: [1970-01-07T21:51:48.733Z] [DEBUG] local request 23025 get_consumable timed out
<30>Jan  8 05:51:48 valetudo[712]: [1970-01-07T21:51:48.736Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":24026}
<30>Jan  8 05:51:49 valetudo[712]: [1970-01-07T21:51:49.238Z] [DEBUG] local request 24026 get_consumable timed out
<30>Jan  8 05:51:49 valetudo[712]: [1970-01-07T21:51:49.244Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":25027}
<30>Jan  8 05:51:49 valetudo[712]: [1970-01-07T21:51:49.567Z] [DEBUG] <<< cloud* {"stamp":0}
<30>Jan  8 05:51:49 valetudo[712]: [1970-01-07T21:51:49.568Z] [DEBUG] ^-- initial timesync packet
<30>Jan  8 05:51:49 valetudo[712]: [1970-01-07T21:51:49.569Z] [DEBUG] >>> Responding to timesync request
<30>Jan  8 05:51:49 valetudo[712]: [1970-01-07T21:51:49.570Z] [INFO] Cloud connected
<30>Jan  8 05:51:50 valetudo[712]: [1970-01-07T21:51:50.017Z] [DEBUG] <<< cloud: {"method":"prop.is_charge","params":[0]}
<30>Jan  8 05:51:50 valetudo[712]: [1970-01-07T21:51:50.022Z] [DEBUG] <<< cloud: {"method":"prop.is_work","params":[1]}
<30>Jan  8 05:51:50 valetudo[712]: [1970-01-07T21:51:50.024Z] [DEBUG] local request 25027 get_consumable timed out
<30>Jan  8 05:51:50 valetudo[712]: [1970-01-07T21:51:50.027Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":26028}
<30>Jan  8 05:51:50 valetudo[712]: [1970-01-07T21:51:50.528Z] [DEBUG] local request 26028 get_consumable timed out
<30>Jan  8 05:51:50 valetudo[712]: [1970-01-07T21:51:50.531Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":27029}
<30>Jan  8 05:51:51 valetudo[712]: [1970-01-07T21:51:51.033Z] [DEBUG] local request 27029 get_consumable timed out
<30>Jan  8 05:51:51 valetudo[712]: [1970-01-07T21:51:51.040Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":28030}
<30>Jan  8 05:51:51 valetudo[712]: [1970-01-07T21:51:51.545Z] [DEBUG] local request 28030 get_consumable timed out
<30>Jan  8 05:51:51 valetudo[712]: [1970-01-07T21:51:51.551Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":29031}
<30>Jan  8 05:51:52 valetudo[712]: [1970-01-07T21:51:52.056Z] [DEBUG] local request 29031 get_consumable timed out
<27>Jan  8 05:51:52 valetudo[712]: [1970-01-07T21:51:52.058Z] [WARN] Token is okay, however we're unable to reach the vacuum { retries: 30, method: 'get_consumable', args: [] }
<30>Jan  8 05:51:52 valetudo[712]: [1970-01-07T21:51:52.059Z] [DEBUG] >>> local: HandshakePacket()
<30>Jan  8 05:51:52 valetudo[712]: [1970-01-07T21:51:52.062Z] [DEBUG] <<< local* {"stamp":597112}
<30>Jan  8 05:51:52 valetudo[712]: [1970-01-07T21:51:52.063Z] [DEBUG] >>> local* {"stamp":597112}
<30>Jan  8 05:51:52 valetudo[712]: [1970-01-07T21:51:52.063Z] [DEBUG] <<= local: handshake complete
<30>Jan  8 05:51:52 valetudo[712]: [1970-01-07T21:51:52.065Z] [DEBUG] <<< local* {"stamp":597112}
<30>Jan  8 05:51:52 valetudo[712]: [1970-01-07T21:51:52.066Z] [DEBUG] local: Discarding pong
<30>Jan  8 05:51:52 valetudo[712]: [1970-01-07T21:51:52.363Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":30032}
<30>Jan  8 05:51:52 valetudo[712]: [1970-01-07T21:51:52.866Z] [DEBUG] local request 30032 get_consumable timed out
<30>Jan  8 05:51:52 valetudo[712]: [1970-01-07T21:51:52.874Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":31033}
<30>Jan  8 05:51:53 valetudo[712]: [1970-01-07T21:51:53.279Z] [DEBUG] <<< cloud: {"id":2118567401,"method":"props","params":{"ota_state":"idle"}}
<30>Jan  8 05:51:53 valetudo[712]: [1970-01-07T21:51:53.280Z] [INFO] Unknown cloud message received: {"id":2118567401,"method":"props","params":{"ota_state":"idle"}}
<30>Jan  8 05:51:53 valetudo[712]: [1970-01-07T21:51:53.332Z] [DEBUG] <<< cloud: {"method":"prop.is_charge","params":[0]}
<30>Jan  8 05:51:53 valetudo[712]: [1970-01-07T21:51:53.336Z] [DEBUG] <<< cloud: {"method":"prop.is_work","params":[1]}
<30>Jan  8 05:51:53 valetudo[712]: [1970-01-07T21:51:53.339Z] [DEBUG] <<< cloud: {"id":106,"method":"_sync.gen_tmp_presigned_url","params":{"index":[0]}}
<30>Jan  8 05:51:53 valetudo[712]: [1970-01-07T21:51:53.343Z] [DEBUG] >>> cloud: {"id":106,"result":{"urls":[{"url":"http://127.0.0.1:8079/api/miio/map_upload_handler?35379675269&suffix=urls","method":"PUT"},{"url":"http://127.0.0.1:8079/api/miio/map_upload_handler?35380234686&suffix=urls","method":"PUT"},{"url":"http://127.0.0.1:8079/api/miio/map_upload_handler?35380382478&suffix=urls","method":"PUT"},{"url":"http://127.0.0.1:8079/api/miio/map_upload_handler?35380419853&suffix=urls","method":"PUT"}]}}
<30>Jan  8 05:51:53 valetudo[712]: [1970-01-07T21:51:53.371Z] [DEBUG] local request 31033 get_consumable timed out
<30>Jan  8 05:51:53 valetudo[712]: [1970-01-07T21:51:53.374Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":32034}
<30>Jan  8 05:51:53 valetudo[712]: [1970-01-07T21:51:53.875Z] [DEBUG] local request 32034 get_consumable timed out
<30>Jan  8 05:51:53 valetudo[712]: [1970-01-07T21:51:53.878Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":33035}
<30>Jan  8 05:51:54 valetudo[712]: [1970-01-07T21:51:54.153Z] [DEBUG] map_upload_handler { '35379675269': '', suffix: 'urls' }
<30>Jan  8 05:51:54 valetudo[712]: [1970-01-07T21:51:54.206Z] [DEBUG] <<< cloud: {"result":["ok"],"id":1}
<30>Jan  8 05:51:54 valetudo[712]: [1970-01-07T21:51:54.206Z] [INFO] << cloud: ignoring response for non-pending request {"result":["ok"],"id":1}
<27>Jan  8 05:51:54 valetudo[712]: [1970-01-07T21:51:54.322Z] [WARN] Unable to parse Pose RangeError [ERR_BUFFER_OUT_OF_BOUNDS]: Attempt to access memory outside buffer bounds
<27>Jan  8 05:51:54 valetudo[712]:     at boundsError (internal/buffer.js:75:11)
<27>Jan  8 05:51:54 valetudo[712]:     at Buffer.readUInt32LE (internal/buffer.js:211:5)
<27>Jan  8 05:51:54 valetudo[712]:     at ViomiMapParser.parsePose (/snapshot/Valetudo/lib/ViomiMapParser.js:366:50)
<27>Jan  8 05:51:54 valetudo[712]:     at ViomiMapParser.parse (/snapshot/Valetudo/lib/ViomiMapParser.js:191:22)
<27>Jan  8 05:51:54 valetudo[712]:     at ViomiV8ValetudoRobot.parseMap (/snapshot/Valetudo/lib/robots/viomi/ViomiValetudoRobot.js:374:50)
<27>Jan  8 05:51:54 valetudo[712]:     at /snapshot/Valetudo/lib/robots/MiioValetudoRobot.js:82:48
<27>Jan  8 05:51:54 valetudo[712]:     at processTicksAndRejections (internal/process/task_queues.js:97:5) {
<27>Jan  8 05:51:54 valetudo[712]:   code: 'ERR_BUFFER_OUT_OF_BOUNDS'
<27>Jan  8 05:51:54 valetudo[712]: }
<30>Jan  8 05:51:54 valetudo[712]: [1970-01-07T21:51:54.377Z] [DEBUG] local request 33035 get_consumable timed out
<30>Jan  8 05:51:54 valetudo[712]: [1970-01-07T21:51:54.379Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":34036}
<30>Jan  8 05:51:54 valetudo[712]: [1970-01-07T21:51:54.881Z] [DEBUG] local request 34036 get_consumable timed out
<30>Jan  8 05:51:54 valetudo[712]: [1970-01-07T21:51:54.884Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":35037}
<30>Jan  8 05:51:55 valetudo[712]: [1970-01-07T21:51:55.385Z] [DEBUG] local request 35037 get_consumable timed out
<30>Jan  8 05:51:55 valetudo[712]: [1970-01-07T21:51:55.387Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":36038}
<30>Jan  8 05:51:55 valetudo[712]: [1970-01-07T21:51:55.889Z] [DEBUG] local request 36038 get_consumable timed out
<30>Jan  8 05:51:55 valetudo[712]: [1970-01-07T21:51:55.896Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":37039}
<30>Jan  8 05:51:56 valetudo[712]: [1970-01-07T21:51:56.400Z] [DEBUG] local request 37039 get_consumable timed out
<30>Jan  8 05:51:56 valetudo[712]: [1970-01-07T21:51:56.403Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":38040}
<30>Jan  8 05:51:56 valetudo[712]: [1970-01-07T21:51:56.517Z] [DEBUG] <<< cloud: {"id":2118567401,"method":"props","params":{"ota_state":"idle"}}
<30>Jan  8 05:51:56 valetudo[712]: [1970-01-07T21:51:56.518Z] [INFO] Unknown cloud message received: {"id":2118567401,"method":"props","params":{"ota_state":"idle"}}
<30>Jan  8 05:51:56 valetudo[712]: [1970-01-07T21:51:56.520Z] [DEBUG] <<< cloud: {"id":107,"method":"_sync.gen_presigned_url","params":{"suffix":"bin"}}
<30>Jan  8 05:51:56 valetudo[712]: [1970-01-07T21:51:56.522Z] [DEBUG] >>> cloud: {"id":107,"result":{"bin":[{"url":"http://127.0.0.1:8079/api/miio/map_upload_handler?38559370813&suffix=bin","method":"PUT"},{"url":"http://127.0.0.1:8079/api/miio/map_upload_handler?38559488271&suffix=bin","method":"PUT"},{"url":"http://127.0.0.1:8079/api/miio/map_upload_handler?38559528354&suffix=bin","method":"PUT"},{"url":"http://127.0.0.1:8079/api/miio/map_upload_handler?38559562563&suffix=bin","method":"PUT"}]}}
<30>Jan  8 05:51:56 valetudo[712]: [1970-01-07T21:51:56.902Z] [DEBUG] local request 38040 get_consumable timed out
<30>Jan  8 05:51:56 valetudo[712]: [1970-01-07T21:51:56.905Z] [DEBUG] >>> local: {"method":"get_consumable","params":[],"id":39041}
<30>Jan  8 05:51:57 valetudo[712]: [1970-01-07T21:51:57.407Z] [DEBUG] local request 39041 get_consumable timed out
<27>Jan  8 05:51:57 valetudo[712]: [1970-01-07T21:51:57.409Z] [WARN] Token is okay, however we're unable to reach the vacuum { retries: 40, method: 'get_consumable', args: [] }
iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
Chain INPUT (policy ACCEPT)
target     prot opt source               destination
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  0.0.0.0/0            110.43.0.83          tcp dpt:80 to:127.0.0.1:8080
DNAT       udp  --  0.0.0.0/0            110.43.0.83          udp dpt:8053 to:127.0.0.1:8053
DNAT       tcp  --  0.0.0.0/0            110.43.0.85          tcp dpt:80 to:127.0.0.1:8080
DNAT       udp  --  0.0.0.0/0            110.43.0.85          udp dpt:8053 to:127.0.0.1:8053
Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
cat /etc/hosts
127.0.0.1 localhost

::1     localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
110.43.0.83 ot.io.mi.com ott.io.mi.com
110.43.0.83 de.ot.io.mi.com de.ott.io.mi.com
110.43.0.83 ea.ot.io.mi.com ea.ott.io.mi.com
110.43.0.83 in.ot.io.mi.com in.ott.io.mi.com
110.43.0.83 pv.ot.io.mi.com pv.ott.io.mi.com
110.43.0.83 ru.ot.io.mi.com ru.ott.io.mi.com
110.43.0.83 sg.ot.io.mi.com sg.ott.io.mi.com
110.43.0.83 st.ot.io.mi.com st.ott.io.mi.com
110.43.0.83 tw.ot.io.mi.com tw.ott.io.mi.com
110.43.0.83 us.ot.io.mi.com us.ott.io.mi.com

Vacuum Model

Viomi.v8 - STYTJ02YM

Valetudo Version

2021.01.0b0

Firmware Version

3.5.3_0017

User-Agent

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Reactions:1
  • Comments:28 (9 by maintainers)

github_iconTop GitHub Comments

6reactions
depaucommented, Jan 25, 2021

In the old code, the response array was mapped to the requested properties before then parsing it:

https://github.com/Hypfer/Valetudo/blob/6db8b76bddfea636303d1169fa7441ac21a5deca/lib/devices/Viomi.js#L416-L423

which would provide a working Valetudo on the robots of the users in this issue since it looks like this:

>>> cloud: {"method":"get_prop","params":["run_state","mode","err_state","battary_life","box_type","mop_type","s_time","s_area","suction_grade","water_grade","remember_map","has_map","is_mop","has_newmap"],"id":46}
<<< cloud: {"result":[5,0,2105,100,1,0,26,20.04,3,12,1,1,0,1],"id":46}

In the current codebase there’s no such thing happening

https://github.com/Hypfer/Valetudo/blob/cd76abe952cda43fd260eda2b217aff677b98d29/lib/robots/viomi/ViomiValetudoRobot.js#L121-L129

which apparently also works on at least @Depau’s viomi?

Why is that? It’s not the model since there are both v7 and v8 with the same issue in this thread. Is it the fw version?

Hi, I can’t give you a proper answer right now, but from what I can remember, yes, you send “get_prop” with all the data you need and it replies with that array.

I think the issue though might have to do with this line:

         this.parseAndUpdateState(response[0]);  // why [0]?

I don’t remember any issues with the status polling code but I may have f’d up and never realized, and it looks like this might be the case.

Keep in mind that when I wrote the code the UI wasn’t wired up to the capabilities system yet so I never got the chance to test it properly.


<small>btw, I’m planning to finish up with the Viomi capabilities soon™ after I finish up with what I’m working right now 😉</small>

2reactions
rumpeltuxcommented, Jan 31, 2021

This particular issue should be fixed in current HEAD. Much of the rest of the UI still isn’t functional though, looking forward to @Depau’s implementation of the missing capabilities.

Note that installation instructions have changed so when redeploying a new binary you’ll need some adjustments.

Read more comments on GitHub >

github_iconTop Results From Across the Web

About the battery usage on your iPhone, iPad, and iPod touch
To see an overview of your battery level and activity for the last 24 hours and up to the last 10 days, go...
Read more >
How to Check Battery Health Status on Dell Laptops
In the One Time Boot Menu, select Diagnostics, and press the Enter key. In the Preboot diagnostics, respond to the user prompts appropriately....
Read more >
Add the battery icon to the taskbar in Windows 10
To add the battery icon to the taskbar: Select Start > Settings > Personalization > Taskbar, and then scroll down to the notification...
Read more >
Battery Q&A - Lenovo Support US
Unlike some earlier portable battery chemistries, like NiCad, you do not need to fully discharge a lithium-ion battery to maintain optimal run time...
Read more >
7 Ways to Fix the “No Battery Is Detected” Error on Windows
The battery might be undetected simply because there's dirt in the battery compartment. So, try cleaning the battery compartment and then check ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found