Comments (5)
Honestly I don't like the server side image generation.
Someone added it in a PR because it was easier to integrate into existing smarthome software and now its just.. there. I agree that having two places with code that essentially does exactly the same thing is bad, however I'd rather drop the server side image generation altogether.
https://github.com/WolfspiritM/Valetudo
This fork contains a heavily optimized client side drawing logic which should fix existing issues. I'm still waiting for the PR, though.
To reduce the data usage one could also think about sending diffs only, however the added complexity is just not worth it. The live map is nice but it gets boring pretty fast. After the first excitement has worn off it's just a tool for troubleshooting and/or checking if everything is fine.
from valetudo.
To implement persistent maps as well as virtual walls roborock apparently changed the map format which gets uploaded to xiaomi.
It is however completely unknown if and where this new map is stored inside the robots fs.
Did they change the ppm in /dev/shm? Is it something in /mnt/data? We just don't know yet.
Thats surely something you could look into.
from valetudo.
To implement persistent maps as well as virtual walls roborock apparently changed the map format which gets uploaded to xiaomi.
It is however completely unknown if and where this new map is stored inside the robots fs.Did they change the ppm in /dev/shm? Is it something in /mnt/data? We just don't know yet.
Thats surely something you could look into.
Oh, I see. Then I guess I'm out for that task, because my device has never made it past the firewall to Xiaomi, I rooted it as soon as I received it. BTW, in my case only the GridMap file contains data, the ppm files are always 0 bytes. Maybe that's because it can't phone home, I don't know.
Concerning the map: I'll take a look at the version you linked, thanks. But anyway, I guess that's some sort of dilemma. I doubt that the folks who use the current on-device generation would like it if the feature went away, so I guess it needs to stay supported.
Could you elaborate on why you prefer the drawing to be done client-side? Like, what's the advantage that I fail to see? Thanks!
from valetudo.
Did you reduce the loglevel? That disables generation of the ppm map.
Here are a few reasons that I can think of at the moment:
- It takes cpu load off the vaccum which has a small arm cpu and moves it to the client which has GPU accelerated rendering
- No temporary image files that clutter up the already very limited amount of ram inside the vacuum
- You can do some cool stuff if you render it client-side and on the fly. Zooming for example. To achieve zooming with server side rendering, the server would need to render images for each zoomlevel.
from valetudo.
OK, awesome, thanks for all your help!
I guess this is not an issue anymore by now, so I'll go ahead and try to close it.
from valetudo.
Related Issues (20)
- Network Advertisement config page shows "Error loading Network Advertisement configuration" HOT 3
- Map resets every cleanup
- Security Issue: Request for contact HOT 4
- Polite discussion about Map Mode selector of the Live Map
- Dreame L10Pro - unable to change operation mode HOT 3
- How to remove Valetudo
- Dreame W10: Carpet sensor setting doesn't disable carpet sensor HOT 2
- Manual Map Segment Trigger for roborock S6 fails with 'param does not contain any element' HOT 4
- Builtin timers run on wrong day when Local<>UTC offset crosses midnight HOT 2
- Discovered MQTT entities with a name that is equal to the device name HOT 7
- Updater: Error while fetching releases HOT 2
- Can't connect to MQTT with DNS CNAME record HOT 1
- Custom Icons for Valetudo Capabilities and functionality
- MQTT changes in home assistant HOT 1
- WiFi names displayed incorrectly when SSID contains unicode HOT 1
- Roborock S5 - MQTT - Failed to parse Value to be sent for topic HOT 1
- Shifting maps HOT 2
- Home Assistant 2024.02 onwards: "The 'schema' option is deprecated" for MQTT auto-discovery HOT 2
- Roborock S6: GET MapSnapshotCapability kills valetudo HOT 3
- Valetudo MQTT disconnecting every 2 minutes HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from valetudo.