Remove switch toggle option
Toggling works for turning the switch off, but doesn't seem to work for turning it back on.
This commit is contained in:
parent
e224438cf3
commit
f72740d89a
1 changed files with 8 additions and 18 deletions
|
@ -10,8 +10,8 @@ import yarl
|
|||
|
||||
|
||||
class SwitchStatus(str, enum.Enum):
|
||||
ON = "ON"
|
||||
OFF = "OFF"
|
||||
on = "on"
|
||||
off = "off"
|
||||
|
||||
|
||||
@dataclasses.dataclass
|
||||
|
@ -38,7 +38,7 @@ class Switch:
|
|||
f"SW{outlet}.y": 1,
|
||||
}
|
||||
if from_state:
|
||||
params[f"STATUS{outlet}"] = f"{from_state.value:3s}"
|
||||
params[f"STATUS{outlet}"] = f"{from_state.value.upper():3s}"
|
||||
|
||||
logging.info("Switching outlet: %s", params)
|
||||
response = requests.post(
|
||||
|
@ -50,10 +50,10 @@ class Switch:
|
|||
print(response)
|
||||
|
||||
def switch_on(self, switch_id: int, outlet: int) -> None:
|
||||
return self.switch(switch_id, outlet, from_state=SwitchStatus.OFF)
|
||||
return self.switch(switch_id, outlet, from_state=SwitchStatus.off)
|
||||
|
||||
def switch_off(self, switch_id: int, outlet: int) -> None:
|
||||
return self.switch(switch_id, outlet, from_state=SwitchStatus.ON)
|
||||
return self.switch(switch_id, outlet, from_state=SwitchStatus.on)
|
||||
|
||||
|
||||
app = typer.Typer()
|
||||
|
@ -62,29 +62,19 @@ SwitchIdArgument = typing.Annotated[int, typer.Argument(min=1, max=16)]
|
|||
OutletArgument = typing.Annotated[int, typer.Argument(min=1, max=8)]
|
||||
|
||||
|
||||
class SwitchAction(str, enum.Enum):
|
||||
on = "on"
|
||||
off = "off"
|
||||
toggle = "toggle"
|
||||
|
||||
|
||||
@app.command()
|
||||
def switch(
|
||||
context: typer.Context,
|
||||
switch_id: SwitchIdArgument,
|
||||
outlet: OutletArgument,
|
||||
action: typing.Annotated[
|
||||
SwitchAction, typer.Argument(case_sensitive=False)
|
||||
] = SwitchAction.toggle,
|
||||
action: typing.Annotated[SwitchStatus, typer.Argument(case_sensitive=False)],
|
||||
) -> None:
|
||||
switch: Switch = context.obj
|
||||
match action:
|
||||
case SwitchAction.on:
|
||||
case SwitchStatus.on:
|
||||
switch.switch_on(switch_id, outlet)
|
||||
case SwitchAction.off:
|
||||
case SwitchStatus.off:
|
||||
switch.switch_off(switch_id, outlet)
|
||||
case SwitchAction.toggle:
|
||||
switch.switch(switch_id, outlet)
|
||||
|
||||
|
||||
@app.callback()
|
||||
|
|
Loading…
Reference in a new issue