That's a great question. Can you share links to some of the device drivers?
The core thing the Weather Tile is looking for is the device to implement a weather attribute. That triggers the weather tile being rendered instead of a generic thing tile.
It's looking for a few key attributes:
weather - description of the weather/forecast [required]
forecastIcon - should report a Weather Underground compatible icon name [required]
city - replaces the device name in the top-left (location is used as a fallback)
temperature - numeric temperature (without units)
feelsLike - numeric temperature (without units)
wind - in MPH
illuminance - hidden for now
humidity - as a percentage (without units)
percentPrecip - as a percentage (without units)
localSunrise - time
localSunset - time
If I remember correctly, weather and forecastIcon are the only required attributes. The rest of the attributes are conditionally displayed based on whether or not they are implemented in the device driver.
Thanks for the message and sorry that things aren't working as expected. Invalid Request is usually reported directly from the remote OAuth servers. For example, I saw that in testing if I wasn't on the latest Hubitat firmware release which has the SharpTools App available.
What are you seeing in your Hubitat logs when you try to authorize things via Manage Connections from SharpTools?
And of course the built-in WU driver, but that one is less attractive to me because the free API keys to pull data from WU will be going away. Mine expires next year.
I'll be using Andy's (@Cobra) driver with Weewx for my own personal data and Apixu to supplement. But I have the other drivers loaded too. So if Andy needed to change something, but wasn't interested in making the necessary modifications, the other sources might be a possibility. All depends on what's needed to make it work I suppose.
I took a quick look at the drivers and here's what I can tell from a quick code review:
@Matthew's driver should work with a minor modification. The driver reports the icon as a weatherIcon whereas the SharpTools tile is looking for a forecastIcon.
So a minor modification would be needed to copy the data from weatherIcon or condition_code into a new forecastIcon attribute and to send the event for it.
@bangali's driver would need a decent number of modifications, but it looks like the core data is there, it's just a matter of mapping the attributes to the expected names.
In addition to the mapping of data to the names (as listed in this post), the condition_code would need to be mapped into a WeatherUnderground compatible icon keys which Matthew did in his driver.
@Cobra's WeatherUndergroundCustom and Weewx driver would need a similar change as Matthew's in that the weatherIcon would need to be mapped to forecastIcon
Looking at the screenshot from his post, you might also have to map the weatherIcon to a Weather Underground icon key... the screenshot shows the URL to an image, whereas we need the icon keys like Matthew has in his driver on these lines. (eg. sunny, clear, cloudy, fog, hazy, rain, mostlycloudy, tstorms, sleet, snow)
I'll look into using the weatherIcon as a fallback for forecastIcon on my side as that should make two of the drivers compatible.
In the meantime, if you want to tweak either Matthew's driver or Cobra's driver to map the weatherIcon into a forecastIcon, you could start using the weather tile right now.
For reference, here's the full list of icon mappings supported by the SharpTools weather tile - the left side being the Weather Underground compatible key we are looking for and the right being an internal icon mapping:
I’m happy to ‘tweak’ the output from my two drivers
Currently all they do is send the icon url but I’m happy to change this
The WU icon list is easy but I’ll have to look at the apixu response to see how easy this is.
I see what @Cobra was talking about on the APIXU condition code reference. I have a translation table that will return an equivalent WU condition_code based on the APIXU code. I will build that in tonight.
UPDATE: Updated so APIXU will use a WU condition_code for forecastIcon. New version V2.0.4
@josh I'm new to SharpTools so I apologize if this is obvious to everyone else. I just added Andy's updated weather drivers (thank you so much for making that change @Cobra), and selecting them in the Hubitat app alone wasn't enough to make them available to add to the dashboard.
I had to go into my SharpTool account settings, and then manage connections, and then go through the authorize hub steps again. When it pulls up the list of my hub devices, I could see that the weather drivers I had just selected from the SharpTools HE app were now also selected in the list showing on SharpTool.io and then authorizing make them available to add to the dashboard.
This is a bug right? It would seem to me that if I had to do this every time, I don't need the HE app.