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

Vinnerliste

  1. MrE

    MrE

    Medlemmer


    • Poeng

      2

    • Innlegg

      457


  2. Moskus

    Moskus

    Administrator


    • Poeng

      1

    • Innlegg

      16 853


  3. stigvi

    stigvi

    Medlemmer


    • Poeng

      1

    • Innlegg

      2 766


  4. VikingOy

    VikingOy

    Medlemmer


    • Poeng

      1

    • Innlegg

      329


Populært innhold

Viser innholdet med mest poeng fra 21. april 2023 i alle områder

  1. Hei, Her er slik jeg har gjort det, uten bruk av Node-Red etc. Jeg bruker Auto-Entities kortet i HA, og sorterer på pris lavest - høyest. Ett kort for bensin, og ett for diesel. Jeg hadde en del planer for hvordan jeg skulle ha dette, blant annet med bilde som ikon, kart som viste de forskjellige stasjonene, legge inn når den ble sist oppdatert etc.. Tiden strekker dessverre ikke til, så det har blitt lagt på is inntil videre. Anyways, her er det jeg har så langt: I configuration.yaml har jeg lagt inn restsensor som henter stasjoner fra json filen som ble linket til lenger oppe. Tipset for å få den lett leselig er å legge den inn i en JSON formatter, da blir filen mye renere å lese. Edit: Noen ganger når man går inn på JSON filen uten å bruka api-key, får man authorization denied. Da må man bruke Postman API explorer og X-API-KEY for å hente JSON filen. JSON filen ligger vedlagt. Jeg bruker Notepad++ og brukte søkefunksjon for å finne stasjonene jeg vil ha inn i oppsettet. For å legge til stasjonen du ønsker gjør du følgende: 1. Finner stasjonen i JSON filen 2. Kopierer DiscountInfo navnet som du finner i JSON filen 3. endrer 3 ting under rest-sensor i configuration.yaml - Name - Valgfritt navn, men legg merke til at navnet har bensin i seg. Det er fordi value_template henter bensin-prisen - json attributes path discount info må endres til stasjonsnavnet slik den står i JSON filen. - og value_template må endres til samme navnet som du valgte på øverste linje. Under template sensor må du endre navn på sensor (valgfritt), men state_attr må henvise til sensor som du har laget under rest-sensor. Shell bryne diesel henter altså dieselprisen fra sensoren som heter shell bryne bensin... Nedenfor er YAMLkoden for REST og for template sensor. Begge skal i configuration.yaml (ihvertfall hos meg 🙂🙂 ) I RESTsensoren er det name: som sier hva sensoren skal hette, og value_template er verdien til sensoren som blir opprettet. Sensorene som ligger i restsensoren blir da bensinprisen (på grunn av [0] i value template). Hvis det ønskes diesel her så må du sjekke hva som står i JSON fila. [0] er øverste avsnitt, [1] blir neste osv.. Se utklipp nedenfor, kanskje det ga mer mening. configuration.yaml rest: - scan_interval: 600 method: GET headers: Content-Type: application/json X-API-KEY: 2CD114509703F6E0A976C32FCB79C4F62966EEC6 User-Agent: Drivstoffappen/1.3.8 (com.raskebiler.drivstoff.appen; build:130; iOS 15.2.1) Alamofire/5.4.4 Accept-Language: nb-NO;q=1.0, en-GB;q=0.9 Accept-Encoding: br;q=1.0, gzip;q=0.9, deflate;q=0.8 Connection: keep-alive resource: https://api.drivstoffappen.no/api/stations?stationType=0&countryCode=NO sensor: - name: "Shell Bryne Bensin" json_attributes_path: "$..[?(@.discountInfo=='Shell Bryne')]" value_template: "{{ state_attr('sensor.shell_bryne_bensin', 'stationDetails')[0].price }}" force_update: true json_attributes: - "id" - "location" - "latitude" - "longitude" - "pictureUrl" - "discountInfo" - "lastUpdated" - "stationDetails" - name: "Circle K Lagårdsveien Bensin" json_attributes_path: "$..[?(@.discountInfo=='Circle K Lagårdsveien')]" force_update: true value_template: "{{ state_attr('sensor.circle_k_lagardsveien_bensin', 'stationDetails')[0].price }}" json_attributes: - "id" - "location" - "latitude" - "longitude" - "pictureUrl" - "discountInfo" - "lastUpdated" - "stationDetails" - name: "Uno-X Bryne Bensin" json_attributes_path: "$..[?(@.discountInfo=='Uno-X Bryne')]" force_update: true value_template: "{{ state_attr('sensor.uno_x_bryne_bensin', 'stationDetails')[0].price }}" json_attributes: - "id" - "location" - "latitude" - "longitude" - "pictureUrl" - "discountInfo" - "lastUpdated" - "stationDetails" - name: "Esso Bryne Bensin" json_attributes_path: "$..[?(@.discountInfo=='Esso Bryne')]" force_update: true value_template: "{{ state_attr('sensor.esso_bryne_bensin', 'stationDetails')[0].price }}" json_attributes: - "id" - "location" - "latitude" - "longitude" - "pictureUrl" - "discountInfo" - "lastUpdated" - "stationDetails" - name: "Circle K Klepp Bensin" json_attributes_path: "$..[?(@.discountInfo=='Circle K Klepp')]" force_update: true value_template: "{{ state_attr('sensor.circle_k_klepp_bensin', 'stationDetails')[0].price }}" json_attributes: - "id" - "location" - "latitude" - "longitude" - "pictureUrl" - "discountInfo" - "lastUpdated" - "stationDetails" For å lage diesel sensorene er det hentet samme sensor, men brukt neste avsnitt i JSON fila ( [1] ). Noen ganger har stasjonene avgiftsfri diesel eller 98 bensin på 2. avsnitt, så da må det brukes [2] eller [3] alt etter hvordan JSON ser ut på aktuell stasjon. Merk at sensorene henter attribut fra sensor.shell_bryne_bensin. Det er fordi i restsensoren henter vi bensinprisen, og hele stasjonen som vi henter inn i HA blir da kalt for shell bryne bensin. For å hente dieselpris bruker vi altså attribute under bensinsensoren, hvis det ga mening. Her er for å hente diesel på de samme stasjonene: template: - sensor: ########## DIESELPRISER ############################ - name: Shell Bryne Diesel state: "{{ state_attr('sensor.shell_bryne_bensin', 'stationDetails')[1].price }}" device_class: monetary unit_of_measurement: NOK - name: Circle K Lagårdsveien Diesel state: "{{ state_attr('sensor.circle_k_lagardsveien_bensin', 'stationDetails')[1].price }}" device_class: monetary unit_of_measurement: NOK - name: Uno-X Bryne Diesel state: "{{ state_attr('sensor.uno_x_bryne_bensin', 'stationDetails')[1].price }}" device_class: monetary unit_of_measurement: NOK - name: Esso Bryne Diesel state: "{{ state_attr('sensor.esso_bryne_bensin', 'stationDetails')[1].price }}" device_class: monetary unit_of_measurement: NOK - name: Circle K Klepp Diesel state: "{{ state_attr('sensor.circle_k_klepp_bensin', 'stationDetails')[1].price }}" device_class: monetary unit_of_measurement: NOK Blir altså mye manuelt arbeid, men er forholdsvis enkelt. Knotet en del med dette før jeg fikk det til. Håper det fungerer for dere også 🙂 Slik ser kortet ut i HA: Hvor konfigurasjonen til auto-entities kortet for diesel ser slik ut: type: custom:auto-entities card: type: entities title: Diesel - sortert på pris filter: include: - name: '*Diesel*' exclude: [] sort: method: state numeric: true DS appen.json
    2 poeng
  2. FYI: Har en ukvalifisert oppfatning av at Uno-X på Orstad / Øksnevad ville sortert høyt opp på listen din. Det er kanskje interessant siden den ligger i det samme området som de andre du har.
    1 poeng
  3. Min forståelse er at dette API'et ikke er åpent og fritt tilgjengelig. Det er nok en eller annen IT-dyktig luring som har funnet det og gjort en eksperimentell reverse engineering. Det kan bety at API'et når som helt kan forandres og slutte å virke. Det er en del av gamet. Men, så er det gjerne slik at selskapet bak ofte velger å se gjennom fingrene med at det alltid vil være noen som "finner" frem til slike API'er fordi de som bruker slike for det første ofte er i veldig fåtall (nerdene som oss), og dernest så er all markedsføring, god markedsføring. Vi er med å sprer info om eksistensen til Drivstoffappen.no. Og sist, men ikke minst - vi bidrar nok også med en del verdifull tilbakemelding dersom Drivstoffappen.no gidder å ta seg bryet med følge litt med på forumene våre. Kall oss gjerne gratis betatestere.
    1 poeng
  4. Det er ikke bare-bare å måle lyd når man må passe på alle støykilder...
    1 poeng
Vinnerlisten er satt til Oslo/GMT+01:00
×
×
  • 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.