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

Anbefalte innlegg

Skrevet (endret)

Slik blir det

 

  - platform: rest
    resource: https://api.met.no/weatherapi/textforecast/2.0/?forecast=landoverview
    name: textweather
    scan_interval: 21600
    value_template: '{{ (value_json.textforecast.time[0].forecasttype.location|selectattr("@id", "eq", "0611")|first)["#text"] }}'



Koden 0611 må endres til ditt eget område. Se i linken i posten ovenfor. (eller i linken til rest-sensor)

Endret av stigvi
  • Like 2
  • Thanks 2
Skrevet (endret)

Har bare standard met-integrasjonen og likte denne godt, men hvordan henter jeg konfigurasjon fra met-integrasjonen?

 

Det var ikke så vanskelig. Bare å legge til weather.dittnavn på alle valg under card configuration..

 

Hvordan justerte du ned tekststørrelsen?

 

Endret av hjemmedude
Skrevet
stigvi skrev (På 20.10.2022 den 6.53):

Slik blir det

 

  - platform: rest
    resource: https://api.met.no/weatherapi/textforecast/2.0/?forecast=landoverview
    name: textweather
    scan_interval: 21600
    value_template: '{{ (value_json.textforecast.time[0].forecasttype.location|selectattr("@id", "eq", "0611")|first)["#text"] }}'



Koden 0611 må endres til ditt eget område. Se i linken i posten ovenfor. (eller i linken til rest-sensor)

 

Får ikke denne til å virke.

image.thumb.png.54a4e68a1ffc3b47523a01ffde8c7aae.png

 

Lagt denne under "sensor"

- platform: rest
  resource: https://api.met.no/weatherapi/textforecast/2.0/?forecast=landoverview
  name: textweather
  scan_interval: 21600
  value_template: '{{ (value_json.textforecast.time[0].forecasttype.location|selectattr("@id", "eq", "0503")|first)["#text"] }}'

 

Hva gjør jeg feil?

 

  • 1 måned senere...
Skrevet

Jeg har lagt til et truncate filter. HA kan ikke ha en tilstandsverdi som er lenger enn 255 tegn. Men attributter kan være lenger. Spørsmålet da er hvordan en henter denne teksten inn i en attributt? Men som en midlertidig fix blir teksten begrenset i lengde

 

  - platform: rest
    resource: https://api.met.no/weatherapi/textforecast/2.0/?forecast=landoverview
    name: textweather
    scan_interval: 3612
    value_template: '{{ (value_json.textforecast.time[0].forecasttype.location|selectattr("@id", "eq", "0611")|first)["#text"]|truncate(254,True) }}'

 

  • 2 uker senere...
Skrevet

Lurer på det samme ift. å få lengre tekst inn. 

 

Et annet tips for Østlandet, er å bruke "match" i stede for "eq"

- platform: rest
  resource: https://api.met.no/weatherapi/textforecast/2.0/?forecast=landoverview
  name: textweather now
  scan_interval: 21600
  value_template: '{{ (value_json.textforecast.time[0].forecasttype.location|selectattr("@id", "match", "0503.*")|first)["#text"] |truncate(254,True)}}'

 

  • 10 måneder senere...
Skrevet (endret)
stigvi skrev (På 13.12.2022 den 8.06):

Jeg har lagt til et truncate filter. HA kan ikke ha en tilstandsverdi som er lenger enn 255 tegn. Men attributter kan være lenger. Spørsmålet da er hvordan en henter denne teksten inn i en attributt? Men som en midlertidig fix blir teksten begrenset i lengde

 

  - platform: rest
    resource: https://api.met.no/weatherapi/textforecast/2.0/?forecast=landoverview
    name: textweather
    scan_interval: 3612
    value_template: '{{ (value_json.textforecast.time[0].forecasttype.location|selectattr("@id", "eq", "0611")|first)["#text"]|truncate(254,True) }}'

 

Her er løsningen for å hente ut værmeldingen som en attributt:

 

- platform: rest
  resource: https://api.met.no/weatherapi/textforecast/2.0/?forecast=landoverview
  name: textweather text
  scan_interval: 180
  json_attributes_path: '$.textforecast.time[0].forecasttype.location[?("Øst" in @["\x40name"])]'
  value_template: '1'
  json_attributes:
    - '@id'
    - '@name'
    - '#text'

 

I eksempelet ovenfor blir værmeldingsteksten lagt til attributt sensor.textweather_text.#text.

Attributten @name angir området og @id id-nummeret. Jeg har valgt å søke på områdenavnet og bruker "Øst" og "\x40name" i json_attributes_path, da dekkes både Østlandet og Østafjells avhengig av hva meteorologen velger å angi. Dersom det er ønskelig å søke på id-nummer i stedet byttes "Øst" ut med id-nummer og "\x40name" med "\x40id".

VM.png.33552e514b14ab0682ba96957692de90.png

 

Deretter legger jeg værmeldingsteksten ut i flere sensorer, en for hver linje:

- platform: template
  sensors:
    weather_summary1:
      value_template: >-
        {% set t= (state_attr('sensor.textweather_text','#text') | wordwrap(42, true,"§")).split("§")[0] %}
        {{t}}

    weather_summary2:
      value_template: >-
        {% set t= (state_attr('sensor.textweather_text','#text') | wordwrap(42, true,"§")).split("§")[1] %}
        {{t}}

osv..

 

I eksempelet over er lengden på tekstlinjen angitt i "wordwrap(42, true,"§")" hvor 42 angir antall tegn/lengde på tekstlinjen. 

 

 

Endret av Tander
  • Like 2
Skrevet
Tander skrev (1 time siden):

Her er løsningen for å hente ut værmeldingen som en attributt:

 

- platform: rest
  resource: https://api.met.no/weatherapi/textforecast/2.0/?forecast=landoverview
  name: textweather text
  scan_interval: 180
  json_attributes_path: '$.textforecast.time[0].forecasttype.location[?("Øst" in @["\x40name"])]'
  value_template: '1'
  json_attributes:
    - '@id'
    - '@name'
    - '#text'

 

I eksempelet ovenfor blir værmeldingsteksten lagt til attributt sensor.textweather_text.#text.

Attributten @name angir området og @id id-nummeret. Jeg har valgt å søke på områdenavnet og bruker "Øst" og "\x40name" i json_attributes_path, da dekkes både Østlandet og Østafjells avhengig av hva meteorologen velger å angi. Dersom det er ønskelig å søke på id-nummer i stedet byttes "Øst" ut med id-nummer og "\x40name" med "\x40id".

VM.png.33552e514b14ab0682ba96957692de90.png

 

Deretter legger jeg værmeldingsteksten ut i flere sensorer, en for hver linje:

- platform: template
  sensors:
    weather_summary1:
      value_template: >-
        {% set t= (state_attr('sensor.textweather_text','#text') | wordwrap(42, true,"§")).split("§")[0] %}
        {{t}}

    weather_summary2:
      value_template: >-
        {% set t= (state_attr('sensor.textweather_text','#text') | wordwrap(42, true,"§")).split("§")[1] %}
        {{t}}

osv..

 

I eksempelet over er lengden på tekstlinjen angitt i "wordwrap(42, true,"§")" hvor 42 angir antall tegn/lengde på tekstlinjen. 

 

 



Takk. Den som venter på noe godt, osv .....

  • Like 2
  • 3 måneder senere...
Skrevet

Jeg har de siste dagene ikke fått inn noen værmelding i HA. Slo på debugging på rest sensor og så at jeg fikk 403 (ikke tilgang, feil)

Jeg løste det med å legge til 

 

headers:
      User-Agent: Home Assistant REST sensor


Mulig de er blitt mer strikse og vil ha dette før de gir fra seg data.......

Skrevet

Det stemmer. De har i dokumentasjonen angitt at brukere må identifisere seg, slik du har gjort. Kanskje greit å ikke bruke samme User-Agent navn ("Home Assistant", etc.).

 

Det som er rart er at jeg får 403 dersom User-Agent ikke er angitt under header fra Home Assistant, men det går helt greit å hente ut informasjonen fra nettleseren. Nå vet ikke jeg om nettleseren identifiserer seg, mulig det.

  • Like 1
Skrevet
Tander skrev (14 minutter siden):

Det stemmer. De har i dokumentasjonen angitt at brukere må identifisere seg, slik du har gjort. Kanskje greit å ikke bruke samme User-Agent navn ("Home Assistant", etc.).

 

Det som er rart er at jeg får 403 dersom User-Agent ikke er angitt under header fra Home Assistant, men det går helt greit å hente ut informasjonen fra nettleseren. Nå vet ikke jeg om nettleseren identifiserer seg, mulig det.

Takk. Jeg har lagt til min epost adresse på min user-agent streng.

Bli med i samtalen

Du kan publisere innhold nå og registrere deg senere. Hvis du har en konto, logg inn nå for å poste med kontoen din.

Gjest
Skriv svar til emnet...

×   Du har limt inn tekst med formatering.   Lim inn uten formatering i stedet

  Du kan kun bruke opp til 75 smilefjes.

×   Lenken din har blitt bygget inn på siden automatisk.   Vis som en ordinær lenke i stedet

×   Tidligere tekst har blitt gjenopprettet.   Tøm tekstverktøy

×   Du kan ikke lime inn bilder direkte. Last opp eller legg inn bilder fra URL.

×
×
  • 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.