Merge branch 'main' of github.com:fleschutz/PowerShell

This commit is contained in:
Markus Fleschutz 2024-08-15 10:12:04 +02:00
commit 57342553e8

View File

@ -3,11 +3,11 @@
Switches a Shelly1 device
.DESCRIPTION
This PowerShell script switches a Shelly1 device in the local network.
.PARAMETER Host
.PARAMETER host
Specifies either the hostname or IP address of the Shelly1 device
.PARAMETER TurnMode
.PARAMETER turnMode
Specifies either 'on', 'off', or 'toggle'
.PARAMETER Timer
.PARAMETER timer
Specifies the timer in seconds (0 = infinite)
.EXAMPLE
PS> ./switch-shelly1 192.168.100.100 toggle 10
@ -17,16 +17,16 @@
Author: Markus Fleschutz | License: CC0
#>
param([string]$Host = "", [string]$TurnMode = "", [int]$Timer = -999)
param([string]$host = "", [string]$turnMode = "", [int]$timer = -999)
try {
if ($Host -eq "") { $Host = read-host "Enter hostname or IP address of the Shelly1 device" }
if ($TurnMode -eq "") { $TurnMode = read-host "Enter turn mode (on/off/toggle)" }
if ($Timer -eq -999) { [int]$Timer = read-host "Enter timer in seconds (0=endless)" }
if ($host -eq "") { $host = Read-Host "Enter the hostname or IP address of the Shelly1 device" }
if ($turnMode -eq "") { $turnMode = Read-Host "Enter the turn mode (on/off/toggle)" }
if ($timer -eq -999) { [int]$timer = Read-Host "Enter the timer in seconds (0=endless)" }
$Result = Invoke-RestMethod "http://$($Host)/relay/0?turn=$($TurnMode)&timer=$($Timer)"
$result = Invoke-RestMethod "http://$($host)/relay/0?turn=$($turnMode)&timer=$($timer)"
"✔️ switched Shelly1 device at $Host to $TurnMode for $Timer sec"
"✔️ Switched Shelly1 device at $host to $turnMode for $timer sec."
exit 0 # success
} catch {
"⚠️ Error in line $($_.InvocationInfo.ScriptLineNumber): $($Error[0])"