Segment material and orientation does not persist #2438
Replies: 4 comments 4 replies
|
Yeah that seems to be a thing on all Dreames so far. They just decide to change it. I did some digging to see if I'm doing something wrong, but that doesn't seem to be the case. At least I did not find anything after a few hours, which was when I decided that it is enough. FWIW, this seems to also be an issue when running stock? Unfortunately no comments there. I also tried reaching out to the dreame support, but they wanted me to share a video of the issue, which doesn't make sense, so I lost motivation there. But maybe you have more energy to get an answer out of them. If there even is one that is |
|
I created a bit of a silly work-around for this, because floor materials seem to apply until they are reset upon docking/map update. On the robot, create #!/bin/sh
set -e
set_floor_material() {
segment=$1
material=$2
curl -s -X PUT \
-H 'Content-Type: application/json' \
--data-raw '{"action":"set_material","segment_id":"'"$segment"'","material":"'"$material"'"}' \
'http://localhost/api/v2/robot/capabilities/MapSegmentMaterialControlCapability' \
| grep -q OK
}
# Ensure the robot is docked.
if curl -s 'http://localhost/api/v2/robot/state/attributes' | grep -q '"docked"'; then
# If no floor type is wood_horizontal, then the floor type has reset.
if ! curl -s http://localhost/api/v2/robot/state/map | grep -q '"wood_horizontal"'; then
# Set all non-tile segments to wood_horizontal.
for i in 1 2 4 5 8 9 10; do
set_floor_material $i wood_horizontal
done
# Set tile segments.
for i in 3 6 7; do
set_floor_material $i tile
done
fi
fiAdd to crontab (runs every minute): You'll probably want to apply the crontab edit on every boot via EDIT: For persistence, create a second file: echo "* * * * * /data/hack_set_floor_material.sh" > /data/hack_set_floor_material.crontabAnd add this to if [[ -f /data/hack_set_floor_material.crontab ]]; then
(crontab -l | grep -v hack_set_floor_material; cat /data/hack_set_floor_material.crontab) | crontab -
fi |
|
Hey, Thanks for the info. And especially for the idea of an automated solution. I tried to come up with a different approach—for anyone who doesn’t want to write scripts on the robot. I set it up as an automation in Home Assistant. That’s easier for me to maintain. And in my |
|
I thought I already posted this but maybe forgot to click "Comment" 😅 In the Telegram channel
After upgrading, configuring the floor levels and running a clean, the floor material still resetted after docking... 😿 |
Uh oh!
There was an error while loading. Please reload this page.
Are you already using Valetudo?
Yes, for a long time
Your questions
Love the floor material customisation introduced in 2026.01.0, works great on the Dreame L10s PUH with my semi-uneven wooden floor.
After making some adjustments to the material type and orientation via the Valetudo web GUI to reflect the material type and orientation, it seems this keeps reverting to the prior state after a vacuum and mop cycle.
I've since tried upgrading the robot firmware from v1574 to v1633, updating Valetudo to latest 2026.02.0, neither of which seems to helped.
Any suggestions to where I can look next to make this change more permanent?
All reactions