thnx mate now i have the perfect widget for my needs
@Tetsuo another question ,is there a way to make the widget from portrait to landscape without splitting it to 2 separate widgets like this?
With the current implementation, you would have to look for the f7-row
or f7-col
components. Just looked through the source code and sadly I didn’t organize it very well. So changing it into your orientation is a bit of work.
You would need to wrap blocks in another way - difficult to describe without rewriting the whole widget.
But talking about rewrite: I’m currently in the process of rewriting it from scratch, combining it with a rule to have better control over everything and storing the state to not just have the selected rooms on just one device.
Maybe you could tell me your ideas and I see how I can add them to version 2.0.0. (no idea how fast it will be ready!)
Hey …
I like the widget and it works great … I have two question:
- Where I can change the color of the buttons from red to blue or white
- The MAP I see in Openhab is very pixelated, is there a way to adjust the resolution ?
- Can someone tell me why I have to maps size. I have two roborock´s and I get two different sizes
Thanks guys …
Nice to hear that you’re still working on the Widget! I’ve been using it a lot since implementing it.
Ideas:
- Spot / Zone Cleaning (no Idea how to get the data for that though)
- Automatically go to specific coordinates after cleaning for X hours (wait near the trash to empty the dust bin)
Maybe a timer would be an interesting option. so i can select rooms X, Y and Z to clean in a couple of hours from now or when everybody left.
thank you for your work
Don’t expect it to be fast development , but some comments on your ideas:
- Spot / Zone Cleaning
Been thinking about that as well, only solution that came to my mind is to overlay the whole image with a grid of blocks which toggle the status and with that you could implement something like Spot cleaning. But that’s actually a moonshot - no idea if it’s really possible to implement. - Go to coordinates after cleaning
I like the idea, never thought about it this way and not sure how to implement that. My current dev-version at home has (besides many bugs) one additional button with predefined coordinates next to my dust bin. So I can easily trigger when I want it emptied. This will be part of the next version.
About the timer - I’d say that should be part of everyones rule set, not part of a widget. But with the new version will come a rule for triggering the actions. Would be a simple task to automate the widget with that I guess.
Holy crap dude. Let wow. Okay, this is great. I had been following this thread but I wasn’t expecting such great progress, I’m definitely adding this to my instance now awesome work!!
Edit: hah! I tried to install it through the market place and I’m getting an error saying that it was not possible to install it. Tried a couple others that went fine - any hints??
Great to hear that you are still further enhancing the widget!
Looking forward to your rule as mine is a bit “basic”.
Thank you for all your awesome feedback and ideas / inspiration.
Talking about rules: Wich flavor of rules would you implement? I decided for me to go with a “new” filebased jscript rule in conf/automation/js
- would that be something you support or rather wish for something else? (Quite sure that I wont change it - even if you wish for something else though! But maybe you got good reasons why that is not the best choice.)
Will have to look how installation from marketplace works at all - as I published this one, there was no marketplace.
I see. Let me know if you need me to test it again and I’ll do it.
hello,thnx for this super widget.I have a weird small problem with room cleaning,if the room number is 1 then it sends
Item 'MiRobotVacuumV2_Actions_ExecuteCommand' received command app_segment_clean[]
and not
Item 'MiRobotVacuumV2_Actions_ExecuteCommand' received command app_segment_clean[1]
as it should be.Any ideas?All the other numbers from 2 and up are working fine.
Hi @Constantinos_Contis,
think you’re using a modified version based on my post where I tried to help you.
I can only guess and hint you to have a look at the line in the widget, maybe there’s some check of yours wrong:
Or maybe post that line and I can see if I can help you!
got it …thnx.At 50 years old my eyes and my brain arent work together well
is there a way to add a button to select 1 or 2 clean passes for roborock S5?
Currently not implemented and I’m also not aware of any function that allows to set the reptition for room cleaning.
My time is sadly limited to go on with development, but I will have an eye on it as soon as I find some time.
Dear all,
since i moved to a new appartment i am getting warnings and errors using the miio binding and roborock s7.
I got a new internet / WLAN router, however, i configured the same WLAN name and password. So the openhab RPI and roborock connect directly to the WLAN.
Strange thing is that the roborock values / items are available in openhab and they are changing correct. But the thing is changing from offline to online all the time and i am not getting an updated cleaning map. These are the values i get in the log:
2022-10-31 12:09:12.057 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 70016
2022-10-31 12:10:15.399 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 70016
2022-10-31 12:11:42.006 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 70016
2022-10-31 12:13:12.072 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 70016
2022-10-31 12:15:11.643 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'miio:generic:1BC50A3B' changed from ONLINE to OFFLINE (CONFIGURATION_ERROR)
2022-10-31 12:15:11.670 [INFO ] [ab.event.ThingStatusInfoChangedEvent] - Thing 'miio:generic:1BC50A3B' changed from OFFLINE (CONFIGURATION_ERROR) to ONLINE
2022-10-31 12:15:42.078 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 70016
2022-10-31 12:17:12.083 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 70016
2022-10-31 12:18:42.087 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 70016
2022-10-31 12:20:12.047 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 70016
2022-10-31 12:21:42.020 [INFO ] [miio.internal.cloud.MiCloudConnector] - Error logging on to Xiaomi cloud (0): Error getting logon location URL. Return code: 70016
I am using openHab 3.2 on a RPI 3b+.
I am using the Xiaomi Home App and read the token again. Device ID and Token didnt change compared to the thing configuration.
Can someone help?
Thank you!
The error is typically related to problems logging on to the cloud.
This is also why getting the map may be difficult.
Resolving cloud login problems is unfortunately not straightforward.
Sometimes it helps to reset your xiaomi cloud password or simply restarting opeenhab
Hi marcel, unfortunately no luck. I changed the password and restarted openhab. No change. Any other suggestion what to do?
Edit: forgot to change the login details in the binding settings… now i do have the map in openhab
Hi Guys,
first off thanks to @Tetsuo for this Widget nice work
I’m trying to adopt it for my ecovas Deebot. I got everything done and working fine. Just got one problem with the area cleaning. I got no numbers for the room i got letters. My skills are just to low to figure out how to send the correct command.
If i select a room i need to send the command: “spotArea:A;B;C” and so on…
Here is the part that’s needs attention:
- component: oh-repeater
config:
sourceType: range
for: i
rangeStart: 0
rangeStop: =JSON.parse(props.rooms).length / props.chunkSize
fragment: true
visible: =items[props.itemPrefix+"_State"].state !== "cleaning"
slots:
default:
- component: f7-row
config: {}
slots:
default:
- component: oh-repeater
config:
for: roomChunk
in: =JSON.parse(props.rooms).slice(loop.i * props.chunkSize, props.chunkSize * (loop.i + 1))
fragment: true
slots:
default:
- component: f7-col
slots:
default:
- component: f7-card
config:
style:
height: 3rem
line-height: 3rem
slots:
default:
- component: f7-card-content
config:
style:
padding: 0
marging: 0
height: 3rem
slots:
default:
- component: oh-button
config:
iconF7: =loop.roomChunk.icon
iconSize: 1.2em
active: '=vars["clean" + loop.roomChunk.roomId] ? true : false'
text: =loop.roomChunk.label
large: true
action: variable
actionVariable: ="clean" + loop.roomChunk.roomId
actionVariableValue: '=undefined === vars["clean" + loop.roomChunk.roomId] ? true : !vars["clean" + loop.roomChunk.roomId]'
style:
height: 3rem
line-height: 3rem
text-align: center
font-size: 1.1em
- component: f7-row
config: {}
slots:
default:
- component: f7-col
slots:
default:
- component: f7-card
slots:
default:
- component: f7-card-content
config:
style:
padding: 0
slots:
default:
- component: oh-button
config:
visible: =items[props.itemPrefix+"_State"].state !== "cleaning"
iconF7: map_pin_ellipse
iconSize: 1.2em
text: '=items[props.itemPrefix+"_State"].state === "cleaning" ? "Wird ausgeführt" : "Bereiche reinigen"'
large: true
action: command
actionItem: =props.itemPrefix+"_Command"
actionCommand: "='spotArea:' + ((vars.cleanA ? 'A';'') + (vars.cleanB ? 'B';'') + (vars.cleanC ? 'C';'') + (vars.cleanD ? 'D';'') + (vars.cleanD ? 'D';'') + (vars.cleanE ? 'E';'') + (vars.cleanF ? 'F';'') + (vars.cleanG ? 'G';'') + (vars.cleanH ? 'H';''))"
style:
height: 2.5em
line-height: 2.5em
text-align: center
font-size: 2em
My props for Room looks like this:
{"icon": "chat_bubble_2","roomId": "A","label": "Testraum1"},{"icon": "chat_bubble_2","roomId": "B","label": "Testraum2"},{"icon": "chat_bubble_2","roomId": "C","label": "Testraum3"},{"icon": "chat_bubble_2","roomId": "D","label": "Testraum4"},{"icon": "chat_bubble_2","roomId": "E","label": "Testraum5"},{"icon": "chat_bubble_2","roomId": "F","label": "Testraum6"},{"icon": "chat_bubble_2","roomId": "G","label": "Testraum7"},{"icon": "chat_bubble_2","roomId": "H","label": "Testraum8"}]
i think the problem is that this script use calculation for the room numbers and i use letters
Thanks for the help
Cheers