Source code for noctua.templates.testsonoff

#!/usr/bin/env python3
# -*- coding: utf-8 -*-

# System modules
import sys
from time import sleep

# Third-party modules
from astropy.io import fits

# Other templates
from ..devices import sof
from ..utils.logger import log
from .basetemplate import BaseTemplate


[docs] class Template(BaseTemplate): def __init__(self): super().__init__() self.name = "testsonoff" self.description = "Test sonoff"
[docs] def content(self, params): ######################## ##### Params check ##### ######################## try: getstatus = params.get("getstatus") setstatusto = params.get("setstatusto") except KeyError as e: log.error(f"Parameter {e} not found") ######################## ##### GET ##### ######################## if getstatus == 1: log.info(f"Sonoff is {sof.state}") ######################## ##### SET ##### ######################## if setstatusto is None: return if setstatusto == 0: sof.state = "Off" sleep(0.2) if (sof.state != "Off"): log.error(f"Failed to switch off the Sonoff!") else: log.info(f"Sonoff is now off") return if setstatusto == 1: sof.state = "On" sleep(2) if (sof.state != "On"): log.error(f"Failed to switch on the Sonoff!") else: log.info(f"Sonoff is now on") return return