Private/Invoke-BridgeOpenedNotification.ps1
function Invoke-BridgeOpenedNotification { [CmdletBinding()] <# .SYNOPSIS Στέλνει ειδοποίηση ότι η γέφυρα άνοιξε. .DESCRIPTION Η Invoke-BridgeOpenedNotification αποστέλλει ειδοποίηση όταν ανιχνευτεί ότι η γέφυρα έχει ανοίξει. .PARAMETER CurrentState Η λίστα καταστάσεων των γεφυρών. .PARAMETER PoUserKey Το Pushover User Key του παραλήπτη. .PARAMETER PoApiKey Το Pushover API Token της εφαρμογής. .OUTPUTS None. .EXAMPLE Invoke-BridgeOpenedNotification -CurrentState $state -PoUserKey 'user123' -PoApiKey 'token123' .NOTES Στέλνει μόνο για γεφυρες με κατάσταση 'Ανοιχτή'. #> [OutputType([void])] param ( [Parameter(Mandatory)][object[]]$CurrentState, [Parameter(Mandatory)][string]$PoUserKey, [Parameter(Mandatory)][string]$PoApiKey ) foreach ($entry in $CurrentState) { if ($entry.gefyraStatus -eq 'Ανοιχτή') { $writeBridgeLogSplat = @{ Stage = 'Ανάλυση' Message = "Γέφυρα : $($entry.GefyraName)" } Write-BridgeLog @writeBridgeLogSplat $writeBridgeLogSplat = @{ Stage = 'Ανάλυση' Message = "Κατάσταση : $($entry.GefyraStatus)" } Write-BridgeLog @writeBridgeLogSplat $writeBridgeLogSplat = @{ Stage = 'Ανάλυση' Message = "Χρονική στιγμή: $($entry.Timestamp)" } Write-BridgeLog @writeBridgeLogSplat $writeBridgeLogSplat = @{ Stage = 'Ανάλυση' Message = "Εικόνα : $($entry.ImageUrl)" } Write-BridgeLog @writeBridgeLogSplat $sendPushoverSplat = @{ PoUserKey = $PoUserKey PoApiKey = $PoApiKey Title = 'Γέφυρα Ανοιχτή!' Message = "Η γέφυρα της $($entry.gefyraName)ς άνοιξε" } Send-BridgePushover @sendPushoverSplat } } } |