"""
Class object for LyricPriority
Documentation: https://github.com/timmo001/aiolyric

Generated by generator/generator.py - 2023-07-27 18:30:29.139453
"""
from .base import LyricBase


class Accessories(LyricBase):

    @property
    def id(self):
        return self.attributes.get("id", None)

    @property
    def type(self):
        return self.attributes.get("type", "")

    @property
    def excludeTemp(self):
        return self.attributes.get("excludeTemp", False)

    @property
    def excludeMotion(self):
        return self.attributes.get("excludeMotion", False)

    @property
    def temperature(self):
        return self.attributes.get("temperature", None)

    @property
    def status(self):
        return self.attributes.get("status", "")

    @property
    def detectMotion(self):
        return self.attributes.get("detectMotion", False)


class Rooms(LyricBase):

    @property
    def id(self):
        return self.attributes.get("id", None)

    @property
    def roomName(self):
        return self.attributes.get("roomName", "")

    @property
    def roomAvgTemp(self):
        return self.attributes.get("roomAvgTemp", None)

    @property
    def roomAvgHumidity(self):
        return self.attributes.get("roomAvgHumidity", None)

    @property
    def overallMotion(self):
        return self.attributes.get("overallMotion", False)

    @property
    def accessories(self):
        return [Accessories(x) for x in self.attributes.get("accessories", [])]


class Currentpriority(LyricBase):

    @property
    def priorityType(self):
        return self.attributes.get("priorityType", "")

    @property
    def selectedRooms(self):
        return self.attributes.get("selectedRooms", [])

    @property
    def rooms(self):
        return [Rooms(x) for x in self.attributes.get("rooms", [])]


class LyricPriority(LyricBase):

    @property
    def deviceId(self):
        return self.attributes.get("deviceId", "")

    @property
    def status(self):
        return self.attributes.get("status", "")

    @property
    def currentPriority(self):
        return Currentpriority(self.attributes.get("currentPriority", {}))


