Gå til innhold
  • Bli medlem
Støtt hjemmeautomasjon.no!

terjemath

Medlemmer
  • Innlegg

    4
  • Ble med

  • Besøkte siden sist

Hjemmeautomasjon

  • System
    Home Assistant
    SmartThings

terjemath sine prestasjoner

Fjernstyrer

Fjernstyrer (3/16)

  • En måned senere
  • Uke én ferdig
  • Første innlegg

Nylige merker

3

Nettsamfunnsomdømme

  1. Siste commando før "json_attributes:" kan da f.eks være med en jq filtrering: merged=$(jq -s '[.[0][] as $stations | .[1][] as $brands | select($stations.brandId == $brands.id) | $stations | .brand = $brands]' <(echo "$stations") <(echo "$brands")); echo "{\"stations\": $(echo "$merged" | jq -c '[ .[] | select( .id | contains(33, 34, 35, 62, 67, 89, 105, 126, 1083, 4456, 5887)) ]') }" Der du legger inn dine stasjons ID'er i stedet for mine selvfølgelig.
  2. 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.
  3. ## Drivstoffpris ## - sensor: name: fuel_prices_command scan_interval: 3600 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 "{\"verdi\":" $( curl -s -H "X-API-KEY: $X_API_KEY" -H "X-CLIENT-ID: $X_CLIENT_ID" "https://api.drivstoffappen.no/api/v1/stations?stationTypeId=1" | jq -c '[ .[] | select( .id | contains(33, 34, 35, 62, 67, 89, 105, 126, 1083, 4456, 5887)) ]' ) "}" value_template: > {{ value_json.verdi | length }} json_attributes: - verdi
  4. Fungerer det fremdeles å hente ut data fra drivstoffappen? Jeg får bare "You are not authorized."
×
×
  • Opprett ny...

Viktig informasjon

Vi har plassert informasjonskapsler/cookies på din enhet for å gjøre denne siden bedre. Du kan justere dine innstillinger for informasjonskapsler, ellers vil vi anta at dette er ok for deg.