So, yes this is selfhosting related. I am working on an n8n flow to pull in weather data so that I can have this data on a dashboard. I can’t find any dockerized weather forecasting apps. Most of them connect to a personal weather station, which might be an option in the future. For the time being, this is a little project I’m working on.

Partial JSON snippet:

spoiler
0	
json	
cod	"200"
message	0
cnt	40
list	
0	
dt	1780693200
main	
temp	29.4
feels_like	29.23
temp_min	29.4
temp_max	29.68
pressure	1019
sea_level	1019
grnd_level	984
humidity	42
temp_kf	-0.28
weather	

I would like to display something like this:

spoiler
Current temperature: 23.25 °C
Feels like: 24.09 °C
Low / High: 23.25 °C / 23.60 °C
Humidity: 94%
Atmospheric pressure: 1023 hPa (sea level: 1023 hPa, ground level: 988 hPa)
Temperature correction factor (temp_kf): -0.35

Weather: Light rain
Weather code: 500
Short condition: Rain
Icon: 10d

So, this is for you devs or coders out there. I can produce the JSON data. I’m just not sure how to parse it to something meaningful. I’m sure Python will have to be incorporated, but unsure of how to proceed.

Maybe someone could point me in a direction to tuts, articles, or your own experience. Sorry the JSON data doesn’t format correctly. Lemmy formatting doesn’t seem to allow that.

    • irmadlad@lemmy.worldOP
      link
      fedilink
      English
      arrow-up
      1
      ·
      8 hours ago

      Use Case: I want to display a daily and extended forecast on a dashboard perhaps via an iframe or other means. I get tired of going to the weather channel and having them complain about my ad blocking techniques. LOL Also, I thought it would be a good learning exercise for me. I’m using n8n to pull the raw data from OpenWeather API. I can generate the JSON data fine (at least it was an accomplishment for me), it’s just getting that JSON data into a prettier format to display on a dashboard with maybe some pretty little weather icons later on when I get it down pat.

      I mentioned Python because it seemed like a language I see others use for this sort of thing, but I am willing to explore other avenues. I am not very strong at coding. I can muck by, fiddling with this or that until I finally get something that works. Then I immediately commit that to my notes because my brain is shit at remembering things.

      • obdurant@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        6 hours ago

        I spent some time writing a script first in Python and then in ExcelScript at work to pull data from from OpenWeather API to compare ambient temperature and humidity to some of our indoor spaces. Both Python and JS (which ExcelScript is, basically) will make it very easy to pull the JSON from the API and pass whatever data you want down the line.

        I don’t have any experience with dashboards or your setup in particular so I can’t give any good advice about how to go forward though. If you have a pre-existing dashboard, what makes it and what feeds it data? Is it a webpage or an app or such?

        • irmadlad@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          4 hours ago

          Is it a webpage or an app or such?

          I am using the Homarr dashboard. It does have an iframe module that I think I could use once I pretty up the data.

          • obdurant@lemmy.zip
            link
            fedilink
            English
            arrow-up
            1
            ·
            50 minutes ago

            Okay, I see what you’re going for and from another comment that you want to avoid the built-in weather app that dashboard has. I agree that the iframe should work for what you want.

            In this case I would make a webpage you can host locally, ignoring the dashboard aspect for a moment, and have it format the data how you want it to show up. If you want to use this as an excuse to tinker with Python and learn a new project I would probably follow the tutorial for Flask on setting up a simple webapp. I imagine by the end of it you could use the example project and tweak it somewhat painlessly to render what you want. Since you already have the ability to get the weather JSON you’ll just need to link the two up.

            Anyway, once you have the page working properly you’ll have something to put in the iframe.

      • Possibly linux@lemmy.zip
        link
        fedilink
        English
        arrow-up
        2
        ·
        edit-2
        8 hours ago

        What dashboard are you using? It seems weird to use n8n as the data should already be in json format

        Just FYI the data you provided is not in json format

        • irmadlad@lemmy.worldOP
          link
          fedilink
          English
          arrow-up
          1
          ·
          edit-2
          7 hours ago

          I’m using Homarr which has the capabilities of iframes.

          Is this not JSON format?

          ETA: I guess I should have posted it as such:

          spoiler

          [{"json":{"cod":"200","message":0,"cnt":40,"list":[{"dt":1780693200,"main":{"temp":29.4,"feels_like":29.23,"temp_min":29.4,"temp_max":29.68,"pressure":1019,"sea_level":1019,"grnd_level":984,"humidity":42,"temp_kf":-0.28},"weather":[{"id":803,"main":"Clouds","description":"broken clouds","icon":"04d"}],"clouds":{"all":65},"wind":{"speed":4.11,"deg":213,"gust":4.12},"visibility":10000,"pop":0,"sys":{"pod":"d"},"dt_txt":"2026-06-05 21:00:00"},{"dt":1780704000,"main":

            • irmadlad@lemmy.worldOP
              link
              fedilink
              English
              arrow-up
              1
              ·
              4 hours ago

              Well, primarily because I wouldn’t learn anything. lol Plus, the Homarr weather plugin doesn’t give as much detail as I would like. It works, no doubt, I just wanted something a bit more.

              • Possibly linux@lemmy.zip
                link
                fedilink
                English
                arrow-up
                1
                ·
                2 hours ago

                You could build a weather app using flask and bootstrap 5. (Flask is the backend and bootstrap is the frontend)