New entity for lawn mowing robots #894
-
Last year, I've written a component for Husqvarna lawn mowing robots and from the forum responses it seems there's quite some interest in it. The code can be inspected on my repo fork. For my purpose, I have used the existing However, the naming doesn't fit, so I'd like to spark a discussing about what should be done. Two options come to mind:
I'm happy to try implementing either after we have a consensus about the approach to take. It will probably make sense to wait for the outcome of #29 as well if we're going with option 1. Thanks for your feedback! |
Beta Was this translation helpful? Give feedback.
Replies: 36 comments 16 replies
-
|
Beta Was this translation helpful? Give feedback.
-
I think that it should be a new component. Code can be copy pasted from the vacuum component if needed. Just like lights and switches are very similar (turn on/off, dimmer/brightness) yet are different components. |
Beta Was this translation helpful? Give feedback.
-
+1 on the generic robot on this, working on supporting gardena sileno mower (still a custom_component though) |
Beta Was this translation helpful? Give feedback.
This comment has been hidden.
This comment has been hidden.
-
I'm working on a component for worx landroid mowers, and also thought it'd be good to have a separate component, so +1. |
Beta Was this translation helpful? Give feedback.
This comment has been hidden.
This comment has been hidden.
-
I've been working on a Bosch Indego lawn mower component with some folks, so would love to have a entity type for that as well! |
Beta Was this translation helpful? Give feedback.
-
The way forward here is a new separate entity integration named The next step before someone can start implementing it is to define, here in this issue, the services and entity state properties needed. Please limit them to only actuator related things. Sensor measurements like battery level should not be part of the lawn_mower integration but separate sensor entities. |
Beta Was this translation helpful? Give feedback.
-
Hello, I am the maintainer of the py-smart-gardena library (https://github.com/py-smart-gardena/py-smart-gardena) and hass-gardena-smart-system (https://github.com/py-smart-gardena/hass-gardena-smart-system) integration. I am open to develop the entity, that is something i thought about for some time now. For a first version, these are the minimal info i would include. Here are the entity state i see for such a device :
As services, i would see :
I am not sure it is the best place to discuss about these, but what is your opinion about it ? Thanks, |
Beta Was this translation helpful? Give feedback.
-
The services sound ok. Please do some research among different brands and see what support there is for these services and states. |
Beta Was this translation helpful? Give feedback.
This comment has been hidden.
This comment has been hidden.
-
The terminology that mine uses (Bosch platform) is Docked (both for the state and the command) rather than parked, but either works, I also have sensors for Next Scheduled Mow, which I find very useful reminding me of making sure the lawn is clear. I think the
In terms of sensors, I also have Percentage Lawn Mowed, Battery, a X and Y position, Update Available, next to the ones that are mentioned. Would love to also work on the implementation @grm |
Beta Was this translation helpful? Give feedback.
-
Husqvarna has the 'paused' concept as well. I figured @grm's "STOPPED" state covers it. "DOCKED" might be a superior choice of term to "PARKED" since it clarifies that charging is occurring, whatever individual brands opt to call it. It might be well to choose PAUSED over STOPPED when stopped away from the base for the same reason, but it just could be my Husqvarna bias suggesting it's clearer. |
Beta Was this translation helpful? Give feedback.
-
For other entities with batteries, the sensor, battery level and battery charging state are all seperate entities now. So charging should probably be a seperate binary_sensor too. There is already a device class for it. |
Beta Was this translation helpful? Give feedback.
-
Yeah that makes sense @Jc2k!
|
Beta Was this translation helpful? Give feedback.
This comment has been hidden.
This comment has been hidden.
-
@grm i use the ha-automower for my Automower. I found the information on the leaving the dock "Leaving charging station" and "Going to charging station" very handy to see what is happening. It would be good if some of this information is included. Also, i have my own script that mirrors the husqurvana app, where i park the mower for a time period and then start it again. |
Beta Was this translation helpful? Give feedback.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
This comment has been hidden.
-
To summarize this topic, here's how the new integration should be designed: New integration name: How different features should be implemented
Entity design
|
Beta Was this translation helpful? Give feedback.
-
Is |
Beta Was this translation helpful? Give feedback.
-
Yes. The LawnMowerEntity base should return |
Beta Was this translation helpful? Give feedback.
-
If no one is actively working on this I'm going to make a start on it. Happy to help out if someone else is working on it. Previous PR branch is gone so can't start there, though likely not a good place to start anyway.... |
Beta Was this translation helpful? Give feedback.
-
Please go ahead. 👍 |
Beta Was this translation helpful? Give feedback.
-
made a start today, just want to note, the Luba i've reverse engineered, supports multiple schedules/scheduling also known as job plans, start mowing should be fine with the edge mode, zones and so on. Eventually would want to expose each schedule somehow. ideally can setup multiple plans and start mowing dependant on a plan, anyway late night thoughts ;-) Will open draft in a couple days time I think. |
Beta Was this translation helpful? Give feedback.
-
Further features that need services can be implemented per integration. We start small with the most common features in the base integration. If we see that many integrations support a specific feature we can discuss to add it later. |
Beta Was this translation helpful? Give feedback.
-
Lawn mower entity Pull requests: |
Beta Was this translation helpful? Give feedback.
-
As a simple switch yes I think I can agree with that.
One small question though, how would we do configuration of a schedule/schedules in future? This would be a different command?
So if we had multiple schedules, those would be multiple switches? (I don't take issue with this I actually think this would be a good thing)
Just some initial thoughts.
Thank you again for your help in this.
13/08/2023 6:58:48 pm Martin Hjelmare ***@***.***>:
…
The core team discussed the new lawnmower entity this week and we suggest we break out the enabling and disabling of the schedule to a switch entity. What do you think?
I've also asked the frontend team to make a suggestion for the frontend design.
—
Reply to this email directly, view it on GitHub[#894 (reply in thread)], or unsubscribe[https://github.com/notifications/unsubscribe-auth/AALDOPKL3JRXQHV2W4B4LE3XVB3GXANCNFSM6AAAAAAYGVSZKE].
You are receiving this because you are subscribed to this thread.[Tracking image][https://github.com/notifications/beacon/AALDOPJE67HUPTICR7XJUZDXVB3GXA5CNFSM6AAAAAAYGVSZKGWGG33NNVSW45C7OR4XAZNRIRUXGY3VONZWS33OINXW23LFNZ2KUY3PNVWWK3TUL5UWJTQAMZVUQ.gif]
|
Beta Was this translation helpful? Give feedback.
-
Starting a discussion about "docking" being an activity state. |
Beta Was this translation helpful? Give feedback.
-
Closing this architectural discussion, as the entity component has been merged and now part of Home Assistant. |
Beta Was this translation helpful? Give feedback.
To summarize this topic, here's how the new integration should be designed:
New integration name:
lawn_mower
How different features should be implemented
available
Entity property.