Code Monkey home page Code Monkey logo

Comments (3)

home-assistant avatar home-assistant commented on May 28, 2024

Hey there @JeffResc, @funkybunch, mind taking a look at this issue as it has been labeled with an integration (sharkiq) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of sharkiq can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign sharkiq Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


sharkiq documentation
sharkiq source
(message by IssueLinks)

from core.

FSuman avatar FSuman commented on May 28, 2024

I now see that there was a lot of discourse in #89350 about this already.

Have you considered simply checking if the area name is in the rooms list if the area id is not found

Something like

    async def async_clean_room(self, rooms: list[str], **kwargs: Any) -> None:
        """Clean specific rooms."""
        areas = AreaRegistry(self.hass)

        rooms_to_clean = []
        valid_rooms = self.available_rooms or []
        for room in rooms:
            if room in valid_rooms:
                rooms_to_clean.append(room)
                continue

            # Check if area name matches
            if room_area := areas.async_get_area(room):
                if room_area.name in valid_rooms:
                    rooms_to_clean.append(room)
                    continue

            raise ServiceValidationError(
                translation_domain=DOMAIN,
                translation_key="invalid_room",
                translation_placeholders={"room": room},
            )

        LOGGER.debug("Cleaning room(s): %s", rooms_to_clean)
        await self.sharkiq.async_clean_rooms(rooms_to_clean)
        await self.coordinator.async_refresh()

Not sure if it actually works, but can take it further if there is interest to support this.

from core.

grainsoflight avatar grainsoflight commented on May 28, 2024

Im having a similar issue, but I am unable to change the names in the Shark app, it simply provides me with pre-created labels, so I am unable to get rooms to work at all

from core.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.