Weather Widget - Side, Top and Block

Hi

I created a new widget over the last few weeks, it can be installed in 3 possible locations as such: I haven’t tested on a tablet yet.

When creating the settings to configure some of the basic options I am having trouble creating a selection for Units. I have no problem choosing what icon sets to load, I have downloaded and renamed all the icons from the weather tutorial on this site, all the ones from weatherunderground and a few others that I have found along the way. The widget can seamlessly switch icons based on the drop down.

I have the weather configured as items for both Celcius and Fahrenheit, and I can create a setting for it, but have not successfully been able to use the setting in the code do display the correct item, or hide the rows I would like.

I have tried using the setting as a CLASS, or a VALUE, I have created scripts to lazy load in, but when the scripts read the value I want it is reading {{config.units}} not the value of the setting.

I can lazy load the javascript, I can get console log info (thats how I worked out the value being read from the page was {{config.units}} not the value of it. It seems the script is running before HabPanel updates it with the proper values.

Any suggestions on how I can read the value after it has been updated so I don’t get the tag.

I would paste some code, however I have tried that many things I deleted it all not knowing where to start.

[https://github.com/Corban987/OpenHab-Weather-Widget-12345](http://Link to my widget)

I have the shell scripts I used to download and rename the icon sets. I copied all the commands into the shell script so I could easily download the icons and rename them again when needed.

Thanks in advance.

8 Likes

Cool. Do you plan to switch over to the weather underground binding instead of the using the HTTP and JSONPATH one?

I don’t think the binding matters? don’t you just update the weather.items to the new binding, so where I have the JSON it would replace to

From

Number   Weather_Temp_C              "Outside Temp [%.0f °C]"                          <temperature>  (gChart) { http="<[weatherunderground:600000:JSONPATH($.current_observation.temp_c)]" } 

To

Number   Weather_Temp_C              "Outside Temp [%.0f °C]"                          <temperature>  (gChart)		{channel="weatherunderground:weather:local:current#temperature"}

Yes good point. Was just thinking of your tutorial at the start

I might just do that, switch from the HTTP to weather underground binding and update the description and then create a new weather.items file. I have seen some JSON errors in the log file, not sure what is causing them because the item that triggers the log does work, but I haven’t had time to really dig down into it and I am working on getting some hardware done now.

I also did update the widget so you can download one and just change a config option and it switches to the different layout, I will have to delete the old ones. I would love to add a config option and use the config.layout setting to determine which layout gets displayed, but I cannot get that working, seems Angular processes everything then inserts the setting into the page then the page doesn’t update with the layout expected.

Let me know of anything else that seems a bit odd or if you modify it I can add the changes. I will also make an update soon so Fahrenheit is an option in the one widget.

hi all

i’ve some issue with all the forecast condition icon and iconurl

String Weather_5_Conditions “Next Day 5 Conditions [%s]” { http="<[weathertry:600000:JSONPATH($.forecast.simpleforecast.forecastday[5].conditions)]" }

return the entire json as item value

I have seen in the log files this happen but it has never returned to the screen, on the next update it corrected. I am not sure why but I am sure its the JSON parser that does it. When I get a chance I am going to add in the weatherunderground binding

Hi guys will this work with open weather map and has any one see a Radar widget

Hi, are there any news to use openweathermap? I tried with a different server path in the widget and an openweatehrmap API, but without success.

Have you tried searching the forum?

It should lead you to this thread.

yes, I read a lot. The binding openweathermap is running fine, but weather widget shows still no data. I think, beacuse it is designed for WU-API.