Merge branch 'main' into fix-10

pull/11/head
EBOOZ 4 years ago committed by GitHub
commit 7ac58ec8a9
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -9,8 +9,9 @@
.DESCRIPTION .DESCRIPTION
This script is monitoring the Teams client logfile for certain changes. It This script is monitoring the Teams client logfile for certain changes. It
makes use of two sensors that are created in Home Assistant up front. makes use of two sensors that are created in Home Assistant up front.
sensor.teams_status displays that availability status of your Teams client based The status entity (sensor.teams_status by default) displays that availability
on the icon overlay in the taskbar on Windows. sensor.teams_activity shows if you status of your Teams client based on the icon overlay in the taskbar on Windows.
The activity entity (sensor.teams_activity by default) shows if you
are in a call or not based on the App updates deamon, which is paused as soon as are in a call or not based on the App updates deamon, which is paused as soon as
you join a call. you join a call.
.PARAMETER SetStatus .PARAMETER SetStatus
@ -32,6 +33,7 @@ $lgAvailable = "Available"
$lgBusy = "Busy" $lgBusy = "Busy"
$lgOnThePhone = "On the phone" $lgOnThePhone = "On the phone"
$lgAway = "Away" $lgAway = "Away"
$lgBeRightBack = "Be right back"
$lgDoNotDisturb = "Do not disturb" $lgDoNotDisturb = "Do not disturb"
$lgFocusing = "Focusing" $lgFocusing = "Focusing"
$lgInAMeeting = "In a meeting" $lgInAMeeting = "In a meeting"
@ -43,6 +45,10 @@ $lgInACall = "In a call"
$iconInACall = "mdi:phone-in-talk-outline" $iconInACall = "mdi:phone-in-talk-outline"
$iconNotInACall = "mdi:phone-off" $iconNotInACall = "mdi:phone-off"
# Set entities to post to
$entityStatus = "sensor.teams_status"
$entityActivity = "sensor.teams_activity"
################################################################ ################################################################
# Don't edit the code below, unless you know what you're doing # # Don't edit the code below, unless you know what you're doing #
################################################################ ################################################################
@ -61,7 +67,7 @@ If($null -ne $SetStatus){
} }
$params = $params | ConvertTo-Json $params = $params | ConvertTo-Json
Invoke-RestMethod -Uri "$HAUrl/api/states/sensor.teams_status" -Method POST -Headers $headers -Body ([System.Text.Encoding]::UTF8.GetBytes($params)) -ContentType "application/json" Invoke-RestMethod -Uri "$HAUrl/api/states/$entityStatus" -Method POST -Headers $headers -Body ([System.Text.Encoding]::UTF8.GetBytes($params)) -ContentType "application/json"
break break
} }
@ -105,6 +111,11 @@ If ($null -ne $TeamsProcess) {
$Status = $lgAway $Status = $lgAway
Write-Host $Status Write-Host $Status
} }
ElseIf ($TeamsStatus -like "*Setting the taskbar overlay icon - $lgBeRightBack*" -or `
$TeamsStatus -like "*StatusIndicatorStateService: Added BeRightBack*") {
$Status = $lgBeRightBack
Write-Host $Status
}
ElseIf ($TeamsStatus -like "*Setting the taskbar overlay icon - $lgDoNotDisturb *" -or ` ElseIf ($TeamsStatus -like "*Setting the taskbar overlay icon - $lgDoNotDisturb *" -or `
$TeamsStatus -like "*StatusIndicatorStateService: Added DoNotDisturb*" -or ` $TeamsStatus -like "*StatusIndicatorStateService: Added DoNotDisturb*" -or `
$TeamsStatus -like "*Setting the taskbar overlay icon - $lgFocusing*" -or ` $TeamsStatus -like "*Setting the taskbar overlay icon - $lgFocusing*" -or `
@ -117,6 +128,11 @@ If ($null -ne $TeamsProcess) {
$Status = $lgInAMeeting $Status = $lgInAMeeting
Write-Host $Status Write-Host $Status
} }
ElseIf ($TeamsStatus -like "*Setting the taskbar overlay icon - $lgOffline*" -or `
$TeamsStatus -like "*StatusIndicatorStateService: Added Offline*") {
$Status = $lgOffline
Write-Host $Status
}
If ($TeamsActivity -like "*Resuming daemon App updates*" -or ` If ($TeamsActivity -like "*Resuming daemon App updates*" -or `
$TeamsActivity -like "*SfB:TeamsNoCall*") { $TeamsActivity -like "*SfB:TeamsNoCall*") {
@ -153,7 +169,7 @@ If ($CurrentStatus -ne $Status) {
} }
$params = $params | ConvertTo-Json $params = $params | ConvertTo-Json
Invoke-RestMethod -Uri "$HAUrl/api/states/sensor.teams_status" -Method POST -Headers $headers -Body ([System.Text.Encoding]::UTF8.GetBytes($params)) -ContentType "application/json" Invoke-RestMethod -Uri "$HAUrl/api/states/$entityStatus" -Method POST -Headers $headers -Body ([System.Text.Encoding]::UTF8.GetBytes($params)) -ContentType "application/json"
} }
If ($CurrentActivity -ne $Activity) { If ($CurrentActivity -ne $Activity) {
@ -167,7 +183,7 @@ If ($CurrentActivity -ne $Activity) {
} }
} }
$params = $params | ConvertTo-Json $params = $params | ConvertTo-Json
Invoke-RestMethod -Uri "$HAUrl/api/states/sensor.teams_activity" -Method POST -Headers $headers -Body ([System.Text.Encoding]::UTF8.GetBytes($params)) -ContentType "application/json" Invoke-RestMethod -Uri "$HAUrl/api/states/$entityActivity" -Method POST -Headers $headers -Body ([System.Text.Encoding]::UTF8.GetBytes($params)) -ContentType "application/json"
} }
Start-Sleep 1 Start-Sleep 1
} Until ($Enable -eq 0) } Until ($Enable -eq 0)

Loading…
Cancel
Save