Public/Send-BridgePushover.ps1
function Send-BridgePushover { [CmdletBinding()] <# .SYNOPSIS Αποστέλλει ειδοποίηση μέσω Pushover για κατάσταση γέφυρας. .DESCRIPTION Η Send-BridgePushover δημιουργεί payload και αποστέλλει ειδοποίηση στο σύστημα Pushover, χρησιμοποιώντας παρεχόμενα διαπιστευτήρια. .PARAMETER PoUserKey Το User Key του παραλήπτη στο Pushover. .PARAMETER PoApiKey Το API Token της εφαρμογής. .PARAMETER Message Το μήνυμα της ειδοποίησης. .PARAMETER Device Η συσκευή στόχος (προαιρετικό). .PARAMETER Title Ο τίτλος της ειδοποίησης (προαιρετικό). .PARAMETER Url URL που θα επισυνάπτεται στην ειδοποίηση (προαιρετικό). .PARAMETER UrlTitle Ο τίτλος για το επισυναπτόμενο URL (προαιρετικό). .PARAMETER Priority Η προτεραιότητα ειδοποίησης (προαιρετικό). .PARAMETER Sound Ο ήχος ειδοποίησης (προαιρετικό). .OUTPUTS None. .EXAMPLE Send-BridgePushover -PoUserKey 'user123' -PoApiKey 'token123' -Message 'Η γέφυρα είναι ανοιχτή.' .NOTES Χρησιμοποιεί εσωτερικές helper συναρτήσεις για payload και αποστολή. #> [OutputType([void])] param ( [Parameter(Mandatory)][string]$PoUserKey, [Parameter(Mandatory)][string]$PoApiKey, [Parameter(Mandatory)][string]$Message, [string]$Device, [string]$Title, [string]$Url, [string]$UrlTitle, [int]$Priority, [string]$Sound ) $writeBridgeLogSplat = @{ Stage = 'Ειδοποίηση' Message = "Pushover ➤ Sending: '$Message'" Level = 'Verbose' } Write-BridgeLog @writeBridgeLogSplat $newPushoverPayloadSplat = @{ PoUserKey = $PoUserKey PoApiKey = $PoApiKey Message = $Message Device = $Device Title = $Title Url = $Url UrlTitle = $UrlTitle Priority = $Priority Sound = $Sound } $payload = New-BridgePushoverPayload @newPushoverPayloadSplat $sendPushoverRequestSplat = @{ Payload = $payload } Send-BridgePushoverRequest @sendPushoverRequestSplat | Out-Null $writeBridgeLogSplat = @{ Stage = 'Ειδοποίηση' Message = 'Pushover ✅ Sent successfully' Level = 'Verbose' } Write-BridgeLog @writeBridgeLogSplat } |