stigvi Skrevet 19. oktober 2022 Skrevet 19. oktober 2022 Er det noen som har laget en rest-sensor for tekstbasert værmelding i Home Assistant og har lyst å dele? https://api.met.no/weatherapi/textforecast/2.0/?forecast=landoverview Textforecast (met.no) Siter
stigvi Skrevet 20. oktober 2022 Forfatter Skrevet 20. oktober 2022 (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 20. oktober 2022 av stigvi 2 2 Siter
stigvi Skrevet 23. oktober 2022 Forfatter Skrevet 23. oktober 2022 havnegata skrev (3 timer siden): Pent det! Hvilket kort er det? https://github.com/Makin-Things/platinum-weather-card 1 Siter
hjemmedude Skrevet 23. oktober 2022 Skrevet 23. oktober 2022 (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 23. oktober 2022 av hjemmedude Siter
stigvi Skrevet 23. oktober 2022 Forfatter Skrevet 23. oktober 2022 hjemmedude skrev (1 time siden): Hvordan justerte du ned tekststørrelsen? Har ikke gjort noe med det........ Siter
Jørn R Skrevet 29. oktober 2022 Skrevet 29. oktober 2022 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. 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? Siter
stigvi Skrevet 29. oktober 2022 Forfatter Skrevet 29. oktober 2022 Du bruker en id som ikke finnes Siter
Jørn R Skrevet 29. oktober 2022 Skrevet 29. oktober 2022 Men Østlandet er jo "0503" 🤔 Jeg får f.eks "0611" til å fungere. Siter
Jørn R Skrevet 29. oktober 2022 Skrevet 29. oktober 2022 Må være noe med dok'en. 0503_0608 fungerer jo. Takk for ideen til denne, @stigvi Siter
stigvi Skrevet 13. desember 2022 Forfatter Skrevet 13. desember 2022 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) }}' Siter
Jørn R Skrevet 23. desember 2022 Skrevet 23. desember 2022 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)}}' Siter
Tander Skrevet 3. november 2023 Skrevet 3. november 2023 (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". 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 3. november 2023 av Tander 2 Siter
stigvi Skrevet 3. november 2023 Forfatter Skrevet 3. november 2023 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". 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 ..... 2 Siter
stigvi Skrevet 12. februar Forfatter Skrevet 12. februar 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....... Siter
Tander Skrevet 12. februar Skrevet 12. februar 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. 1 Siter
stigvi Skrevet 12. februar Forfatter Skrevet 12. februar 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. Siter
Anbefalte innlegg
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.