File: outlet_request_builder.py

package info (click to toggle)
python-yolink-api 0.6.0-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 184 kB
  • sloc: python: 1,147; makefile: 2
file content (16 lines) | stat: -rw-r--r-- 528 bytes parent folder | download | duplicates (2)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
"""Outlet request builder"""
from __future__ import annotations

from .client_request import ClientRequest


class OutletRequestBuilder:  # pylint: disable=too-few-public-methods
    """Outlet request builder"""

    @classmethod
    def set_state_request(cls, state: str, plug_indx: int | None) -> ClientRequest:
        """Set device state."""
        params: dict[str, str | int] = {"state": state}
        if plug_indx is not None:
            params["chs"] = 1 << plug_indx
        return ClientRequest("setState", params)