SmartWeather Station Tile device not updating (updated thread title)

For the longest time I had an app called ‘Weather Station’ that I thought was setting the sun state for the hub. It was listed under the ‘Hello Home’ group of apps installed. I don’t remember installing it and I’ve always assumed that is a standard app like the ‘Low battery notification’. I tried everything yesterday to get its schedule unstuck, but I failed every which way, so I deleted it. I thought that was this app that John @schettj was talking about.

Maybe Tim @slagle or @jody.albritton or anyone else can chime in to confirm if the ‘Weather Station’ app is indeed critical or not.

1 Like

[quote=“tgauchat, post:13, topic:36675”]
If this Topic is not about SmartTiles, then maybe the Title should be edited to clarify this
[/quote]The “SmartWeather Station Tile” device is what I’m referring to, sorry for the confusion. This has nothing to do with SmartTiles.

2 Likes

And now that logging is working, I see the error:

java.lang.reflect.UndeclaredThrowableException  @ line 164

Which is a call to unschedule()

Wrapping that in a try/catch, and hey presto it started working again.

Weird.

2 Likes

wha? english! you modified the device type or ?

I had made my own modifications to the SmartWeather Station Tile device type (from SmartThings) which for some reason now started to throw an exception

The standard code has this

def installed() {
	runPeriodically(3600, poll)
}

I added another method that I can call from a rest endpoint, which reset the periodic run, but first called

unschedule()

to remove any scheduled stuff. For some reason, that call started throwing an exception. So I just wrapped it in a try/catch block, and now the device isn’t throwing an exception when I tap the refresh button, or when my external service calls it to refresh the weather data.

well, that seems specific to your device, I guess. Wonder why the default device type is having isuses, too.

True, The Eneloop’s have a higher ah rating them most and much less of an environmental impact. At 2100 mAh for the AA they’re pretty equal to a long life alkaline. I’ll report back once I get a few.

1 Like

My SmartWeather tile is still not updating. I would have thought with the other scheduling fixes (that seem to have really helped), SmartWeather would start updating. The only time it updates is if I manually click the refresh tile, or I open a SmartTiles dashboard that contains the weather. I’ve tried the new ‘update’ button in the IDE and changing the zip code back and forth.

A secondary question: I tried to add a Pollster rule to update the SmartWeather, but it doesn’t show up in either the devices to be polled or the devices to be refreshed. I see that it has ‘command “refresh”’, so I would have expected it to show up.

1 Like

Hmm, looking at the source, I think it needs a ‘capability “Refresh”’.

Update: that made it work. It needs either a Refresh or a Polling. (I added both). Do I just open a pull request to the SmartThingsPublic for this fix?

1 Like

SmartTiles contains a mini Pollster to refresh the weather tile periodically. Weather is refreshed every 15 minutes, but only when a dashboard is active.

1 Like

Yes, I saw something like that in an old version of SmartTiles.groovy.

Inside the smartweather-station-tile DTH, I see it tries to schedule itself every hour when it is installed. But I almost expected an updated() to exist also, to unshedule and reschedule this (or is that only for SmartApps)?

def installed() {
        runPeriodically(3600, poll)
}

But while looking in the public repo, I find a smartweather-station-controller SmartApp whose purpose it seems is to call the refresh of the refresh of a defined list of weather devices about once every hour. This is also a special-purpose mini-Pollster. However, I don’t see this SmartApp available anywhere in the (Android) App. Is it not available to add?

I was looking at why the weather is only updating to google sheets smartapp once or day a so. I searched for runPeriodically in docs and don’t see it; is it deprecated? Better to use something like runEvery1Hour()?

Is the Weather Station refresh still broken? My seems to not auto-refresh at all anymore.

I had a couple instances of the SmartWeather Station app not running every hour over the last couple months, but it’s been fine now for about a week.

I noticed the same thing recently. The companion smart app “SmartWeather Station Controller” which previously refreshed the SmartWeather Station Tile device just contains a comment that says the device handles itself now. But still my device wasn’t refreshing itself.

I looking into the device handler code and updated the “installed” function to call:
runEvery1Hour(poll)

instead of:
runPeriodically(3600, poll)

I also added an “updated” function which also sets up the runEvery1Hour call.

I’m not sure about the technical differences between runPeriodically vs runEvery1Hour, but my modified version of the device handler updates itself every hour as expected all on its own - no additional smart apps, pollster, or CoRE setup needed.

3 Likes

@xenmaster4 - I am interested in this too - is it the “def installed()” or “def updated()” that’s causing the auto updates directly in the device handler? I have a tile that pulls a # from a photon, and I want the device handler to “auto poll” essentially. It seems nuts to me that this isn’t a default feature, and even crazier that a smartapp is “needed” (suggested as the solution?) for something as basic as this.

Update (2-9-18):

I figured it out - this works well, and you just need to re-add your virtual devices to “trigger” the initial schedule. After that it auto updates without any pollers/smartapps!

def poll() {
	log.debug "Executing 'poll'"
	checkStatus()	
}

def installed() {
	log.debug "Executing 'installed'"
	updated();
}

def updated() {
	log.debug "Executing 'updated'"
    unschedule()
    runEvery15Minutes(refresh)
    runIn(2, refresh)
}

def refresh() {
	log.debug "Executing 'refresh'"
	checkStatus()

}

My SmartWeather station tile 2.0 is not updating anymore. There’s no updates in the Repo. I know the physical station is working because its accurate and updating on Weather Underground. Has something changed? Using the classic app.

Weather Underground API shutdown https://www.wunderground.com/weather/api/ I’m looking for free alternatives too - there are some posts about using https://openweathermap.org/api

Just found this post and loaded this DH (posted March 03) and it updated. Lets see if it works more than once!

The new ST weather tile has many more features than the older one including wind, precipitation etc. With the this lux patch it should provide all the features of the custom devices (and the advantage that it can work with the built in ST apps)

2 Likes