# -*- coding: utf-8 -*-

from loguru import logger

from app.controllers.equipment.switch import Switch, fetch_data, send_switch_command
from app.schemas.equipment import PAU


class PAUSwitch(Switch):

    def __init__(self, equipment: PAU):
        super(PAUSwitch, self).__init__(equipment)


@logger.catch()
async def pau_switch_control(project_id: str, equipment_id: str) -> None:
    equip_params, day_type = await fetch_data(project_id, equipment_id)
    action = await PAUSwitch(PAU(**equip_params)).build_next_action(day_type.get('day_type'))
    logger.debug(f'PAU-{equipment_id}: {action}')
    await send_switch_command(project_id, equipment_id, action)