Ja, om du ikke har opprettet en folder command_line.yaml i HA. Om du legger koden i cofiguration.yaml så må nok "command_line:" legges til.
Filteret | jq -c '[ .[] | select( .id | contains(33, 34, 35, 62, 67, 89, 105, 126, 1083, 4456, 5887)) ]' må endres til hver enkelt sine preferanser da dette er mine lokale stasjoner. Du får opp alle stasjoner dersom filteret droppes i koden.
Da api-et er noe forandret så kommer ikke "brandID" opp som "merkenavn" (Shell, Esso Uno-X osv.) i klartekst, men kun et ID nr. Har derfor laget et eget api-kall for å få opp dette. Gir egentlig bare en "link" mellom "brandID" og merkenavn samt link til "pictureUrl"
- sensor:
name: fuel_brands_command
scan_interval: 604800
command: >
petrolDataTokenResponse=$(curl -s "https://api.drivstoffappen.no/api/v1/authorization-sessions") &&
petrolDataToken=$(echo "$petrolDataTokenResponse" | jq -r '.token') &&
tokenBytes=$(echo -n "$petrolDataToken" | xxd -p -c 256) &&
first=$(echo -n "$tokenBytes" | head -c 2) &&
rest=$(echo -n "$tokenBytes" | tail -c +3) &&
tokenBytesShifted="${rest}${first}" &&
tokenShifted=$(echo -n "$tokenBytesShifted" | xxd -r -p) &&
md5Hash=$(echo -n "$tokenShifted" | md5sum -b | awk '{print $1}') &&
md5Hash=$(echo "$md5Hash" | tr '[:upper:]' '[:lower:]') &&
X_API_KEY="$md5Hash" &&
X_CLIENT_ID="com.raskebiler.drivstoff.appen.ios" &&
petrolData=$(echo "$petrolDataResponse" | jq -c '.') &&
echo "{\"brand\":" $(
curl -s -H "X-API-KEY: $X_API_KEY" -H "X-CLIENT-ID: $X_CLIENT_ID" "https://api.drivstoffappen.no/api/v1/brands"
| jq -c '[ .[] | select( .id | contains(1, 2, 3, 4, 5, 6, 7, 8, 9, 10)) ]'
) "}"
value_template: >
{{ value_json.brand | length }}
json_attributes:
- brand
Denne dataen er relativt ganske statisk så ingen grunn til å trigge denne ofte. Derfor scan intervall på 604800 (i gang i uka).
Har også her filtrert på de 10 første "barndID". Mulig dette filteret må endres for å plukke ut de som faktisk er aktuelle.