Weather app in perspective

Hi!
I've been trying to implement a weather app from exchange: Ignition Exchange | Inductive Automation

I have gotten the API keys and think I have done everything that it says I should do. But I can't even search for a location... I know it's hard to help basaed on this, but how do I share something to you so you can assist me?

I'm new to this but it said beginner and all the instructions says is basicly add the API keys

Let me tell you how I do it.

I use the Opto-22 Rio and Node Red.

By programming a Node Red flow, I run an Api call to openweathermap every 10 minutes to get weather data for a certain location by latitude & Longitude. I then publish the returned data to my Ignition server with Mqtt Sparkplug B. Works Great! I also run another Api on the same Flow but at different times to return Stock Market Data that help me show real time inventory values, This also works great.

I'm getting ready to add another Api to poll data from one of our 3rd party IIOT providers so I can create our own reports and dashboards.

This is just how I do it.

1 Like

I'm here to help :wink:

what is not working ?

maybe send us some print screen. we can then help you better on what it's not working

for me it's seems a beginner level but that's subjectif to your level on api and web request . Anyway

Thanks for the replies. I have openweather node in Node-red working, but since this was already done in the exchange it thought I tried it. Also to learn about Ignition.

When I search for a location, it turns grey and then white again. Nothing happens what I can see. I have tried different options but went for Paris, France in the example since it was that in the app to start with. However it doesn't update the weather either.

Hi @Tim_Hansson,

I've found why is not working the data received for the api call is not copy to where the flex repeater is looking to create the location pile.

On this object (Search icon)

go to the event section, there I create the url and to the api call at the end I transfer the result inside customer property. there is the problem I don't transfer is to the correct custom property.

line 11 and 12 need to be changed with the two following line

self.parent.parent.parent.getChild("flxSearch").custom.key = res
self.parent.parent.parent.getChild("flxSearch").custom.locationData = system.util.jsonDecode(res)

i have made an export of the location view with the bug fix, so you just need to replace the one in your project with this one.
Weather_App_2022-10-21_2101.zip (11.4 KB)

Of course I bug fix will be uploaded on the exchange also

Thanks for the interest on my ressource and hoping you enjoy it

Regards
Arnaud

1 Like

Thanks! I will try this :+1:

It works, great! Thank you very mush!

Is it possible the edit the language? I guess it's taken directly from the API so maybe not possible?

hi @Tim_Hansson,

some of the text are just ignition label and some are coming from the API.

at the API level the language can be asked when the call is made

for the text on a label just use the onboard language management.

i will add this in a future release

regards

Thanks, I will try this! Where is the API called in the app?

on the custom properties of the location view under the embedded view folder.

Thanks, I'll try a little bit :slight_smile:

Hi all,

I have the app in Vision and am now looking to implement in Perspective (which I'm rather new to!). If someone couple help me with a couple of questions:

  1. What is the correct "units" for imperial (USA)
  2. What belongs in the "Weather" custom property?
  3. What belongs in the "Location" custom property?
  4. What is the method for getting this into a container?

This is a great app, and I very much thank the author for putting it on the Exchange. Any and all help would be greatly appreciated!