diff --git a/Scripts/switch-shelly1.ps1 b/Scripts/switch-shelly1.ps1 index f016530f..7bf5b815 100755 --- a/Scripts/switch-shelly1.ps1 +++ b/Scripts/switch-shelly1.ps1 @@ -1,29 +1,28 @@ #!/snap/bin/powershell -# Syntax: ./switch-shelly1.ps1 [] [] [] +# Syntax: ./switch-shelly1.ps1 [] [] [] # Description: switches a Shelly1 device in the local network # Author: Markus Fleschutz # Source: github.com/fleschutz/PowerShell # License: CC0 -param([string]$IPaddr, [string]$TurnMode, [int]$Timer) -if ($IPaddr -eq "" ) { - $IPaddr = read-host "Enter IP address of Shelly1 device" -} -if ($TurnMode -eq "" ) { - $TurnMode = read-host "Enter turn mode (on/off/toggle)" -} -if ($Timer -eq 0 ) { - [int]$Timer = read-host "Enter timer (0=endless)" -} +param([String]$IPaddr, [String]$TurnMode, [Int]$Timer) try { - $URL = "http://$($IPaddr)/relay/0?turn=$($TurnMode)&timer=$($Timer)" - $result = Invoke-RestMethod $URL + if ($IPaddr -eq "" ) { + [String]$IPaddr = read-host "Enter IP address of the Shelly1 device" + } + if ($TurnMode -eq "" ) { + [String]$TurnMode = read-host "Enter turn mode (on/off/toggle)" + } + if ($Timer -eq 0 ) { + [Int]$Timer = read-host "Enter timer (0=endless)" + } - write-host "OK - switched Shelly1 device at $IPaddr to $TurnMode for $Timer second(s)" + $Result = Invoke-RestMethod "http://$($IPaddr)/relay/0?turn=$($TurnMode)&timer=$($Timer)" + write-output "OK - switched Shelly1 device at $IPaddr to $TurnMode for $Timer second(s)" exit 0 } catch { - Write-Error "ERROR in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" + write-error "ERROR in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])" exit 1 }