
    8i                         S r SSKJr  SSKJr  SSKJr  SSKJr  SSK	J
r
  SSKJr  SSKJr  S	S
KJr  S	SKJrJr  S\S\S\SS4S jr " S S\\5      r " S S\\5      r " S S\\5      rg)zSwitch platform for dyson.    )Callable)DysonPureHotCoolLink)SwitchEntity)ConfigEntry)	CONF_NAME)HomeAssistant)EntityCategory   )DysonEntity)DATA_DEVICESDOMAINhassconfig_entryasync_add_entitiesreturnNc                   #    U R                   [           [           UR                     nUR                   [           n[        X45      [        X45      /n[        U[        5      (       a  UR                  [        X45      5        U" U5        g7f)z(Set up Dyson switch from a config entry.N)datar   r   entry_idr   DysonNightModeSwitchEntity%DysonContinuousMonitoringSwitchEntity
isinstancer   appendDysonFocusModeSwitchEntity)r   r   r   devicenameentitiess         //config/custom_components/dyson_local/switch.pyasync_setup_entryr      sv      YYv|,\-B-BCFY'D"60-f;H &.//26@Ax s   B	Bc                   |    \ rS rSrSr\R                  r\S 5       r	\S 5       r
\S 5       r\S 5       rS rS rS	rg
)r       zDyson fan night mode switch.c                     g)Return the name of the entity.z
Night Mode selfs    r   sub_name#DysonNightModeSwitchEntity.sub_name%            c                     g)#Return the unique id of the entity.
night_moder#   r$   s    r   sub_unique_id(DysonNightModeSwitchEntity.sub_unique_id*   r(   r)   c                     g)Return the icon of the entity.zmdi:power-sleepr#   r$   s    r   iconDysonNightModeSwitchEntity.icon/   s     !r)   c                 .    U R                   R                  $ )zReturn if night mode is on.)_devicer,   r$   s    r   is_on DysonNightModeSwitchEntity.is_on4        ||&&&r)   c                 6    U R                   R                  5       $ )zTurn on night mode.)r4   enable_night_moder$   s    r   turn_on"DysonNightModeSwitchEntity.turn_on9       ||--//r)   c                 6    U R                   R                  5       $ )zTurn off night mode.)r4   disable_night_moder$   s    r   turn_off#DysonNightModeSwitchEntity.turn_off=       ||..00r)   r#   N__name__
__module____qualname____firstlineno____doc__r	   CONFIG_attr_entity_categorypropertyr&   r-   r1   r5   r:   r?   __static_attributes__r#   r)   r   r   r       si    &*11    ! ! ' '01r)   r   c                   |    \ rS rSrSr\R                  r\S 5       r	\S 5       r
\S 5       r\S 5       rS rS rS	rg
)r   B   z Dyson fan continuous monitoring.c                     g)r"   zContinuous Monitoringr#   r$   s    r   r&   .DysonContinuousMonitoringSwitchEntity.sub_nameG        'r)   c                     g)r+   continuous_monitoringr#   r$   s    r   r-   3DysonContinuousMonitoringSwitchEntity.sub_unique_idL   rP   r)   c                 ,    U R                   (       a  S$ S$ )r0   zmdi:eyezmdi:eye-off)r5   r$   s    r   r1   *DysonContinuousMonitoringSwitchEntity.iconQ   s     !JJy9M9r)   c                 .    U R                   R                  $ )z&Return if continuous monitoring is on.)r4   rR   r$   s    r   r5   +DysonContinuousMonitoringSwitchEntity.is_onV   s     ||111r)   c                 6    U R                   R                  5       $ )zTurn on continuous monitoring.)r4   enable_continuous_monitoringr$   s    r   r:   -DysonContinuousMonitoringSwitchEntity.turn_on[   s    ||88::r)   c                 6    U R                   R                  5       $ )zTurn off continuous monitoring.)r4   disable_continuous_monitoringr$   s    r   r?   .DysonContinuousMonitoringSwitchEntity.turn_off_   s    ||99;;r)   r#   NrB   r#   r)   r   r   r   B   si    **11' ' ' ' : : 2 2;<r)   r   c                   p    \ rS rSrSr\R                  rSr\	S 5       r
\	S 5       r\	S 5       rS rS rS	rg
)r   d   z+Dyson Pure Hot+Cool Link focus mode switch.zmdi:image-filter-center-focusc                     g)r"   z
Focus Moder#   r$   s    r   r&   #DysonFocusModeSwitchEntity.sub_namej   r(   r)   c                     g)r+   
focus_moder#   r$   s    r   r-   (DysonFocusModeSwitchEntity.sub_unique_ido   r(   r)   c                 .    U R                   R                  $ )zReturn if switch is on.)r4   rc   r$   s    r   r5    DysonFocusModeSwitchEntity.is_ont   r7   r)   c                 6    U R                   R                  5       $ )zTurn on switch.)r4   enable_focus_moder$   s    r   r:   "DysonFocusModeSwitchEntity.turn_ony   r<   r)   c                 6    U R                   R                  5       $ )zTurn off switch.)r4   disable_focus_moder$   s    r   r?   #DysonFocusModeSwitchEntity.turn_off}   rA   r)   r#   N)rC   rD   rE   rF   rG   r	   rH   rI   
_attr_iconrJ   r&   r-   r5   r:   r?   rK   r#   r)   r   r   r   d   sZ    5*110J    ' '01r)   r   )rG   typingr   libdysonr   homeassistant.components.switchr   homeassistant.config_entriesr   homeassistant.constr   homeassistant.corer   homeassistant.helpers.entityr	    r   constr   r   r   r   r   r   r#   r)   r   <module>rw      st       ) 8 4 ) , 7  '!
!'2!HP!	!1l 1D<K <D1l 1r)   