Ability to see the state and condition of ice rinks in Montreal.
The left is a typical rink widget, the right has an additional row for debugging.
| fields @timestamp, @message | |
| | parse @message /^(?<local>\S+) (?<remoteA>\S+)(, (?<remoteB>\S+))? - - \[(?<date>[\w:\+\/ -]*?)\] "(?<method>[A-Za-z-]+) (?<path>[\/\w_-]+) (?<protocol>[\/\w0-9\.-]+)" (?<status>[0-9-]+) (?<bytes>[0-9-]*) "(?<url>\S*?)" "(?<web>.*)"$/ | |
| | filter path like /^\/\S+\/?$/ and status like /404/ | |
| | stats count(*) as hits by path | |
| | sort hits desc |
| #!/usr/bin/env | |
| # strict mode | |
| set -euo pipefail | |
| IFS=$'\n\t' | |
| # from https://github.com/aws/aws-cdk/issues/25742 | |
| # why am i debugging^Wworking in awk | |
| format_cdk_diff() { | |
| DEBUGGING=$1; | |
| awk 'BEGIN{ inTagBlock=0; previousLine=""; debugging='$DEBUGGING'; } |
| #!/usr/bin/env bash | |
| # get your api key from https://my.pingdom.com/app/api-tokens | |
| SECRET="$1" | |
| # | |
| ids=$(curl -s -X GET https://api.pingdom.com/api/3.1/checks -H 'Authorization:Bearer '"${SECRET}"| jq '.checks | .[] | .id ') | |
| echo "| name | threshold |" | |
| for id in $ids; do | |
| curl -s -X GET https://api.pingdom.com/api/3.1/checks/"${id}" -H 'Authorization:Bearer '"${SECRET}"| jq -r '.check | "| \(.name): | \(.responsetime_threshold) ms |"'; | |
| done |
| --- | |
| alias: Canadiens 1st Intermission Timer Trigger | |
| description: "Trigger the Canadiens Timer when the 1st period ends" | |
| triggers: | |
| - trigger: template | |
| value_template: >- | |
| {{ is_state_attr('sensor.team_tracker_canadiens', 'clock', 'End of 1st') }} | |
| conditions: [] | |
| actions: | |
| - action: timer.start |