Apixu.com worldwide weather data with outside lux. No PWS or server setup



Using @cobra WU driver. I must admit that I am debating about getting a PWS though as they are now somewhat affordable.


do you subscribe to a paid WU service so the driver can get the alerts data with your WU key?


I am one of the lucky grandfathered api keys. So no I don’t pay but do get alerts.


nice! for the rest of use there is always apixu and view thru the window. :slight_smile:


Lol true! BUT if a tornado is coming in the middle of the night then I want to know. :wink:


i hear you. fortunately not too many tornadoes here in california. :slight_smile:


Station Data File Location: *

Required, but I have no idea what to put here.


the apixu driver does not have that setting. :slight_smile:


It looks like you may be using the Weather-Display With External Forecast Driver. That driver requires a Personal Weather Station (PWS) using Weather-Display PWS software and that parameter is the file location of the PWS datafile (the location where the PWS stores it's data). If you do not have a PWS using Weather-Display software then that driver is not for you. You could use the driver discussed tin this tread instead.


Oh I see.

I have an AmbientWeather station that I've been using with WU and SmartThings. I'm trying to replace it but am a bit confused by all the options. I don't have Weather-Display, and I don't see anywhere in apixu where I can setup my PWS.

I suppose it would be fine to use generic localized data with apixu but I'd rather use my own PWS if possible. Does anybody know of a driver that supports Ambient Weather's own site, or PWS Weather Info?


@Cobra has a weather driver for a PWS that uses Weewx (a free PWS weather software). You could set that up with your PWS and use his driver. [RELEASE] Weewx Weather Driver With External Forecasting



I do like this DH a lot btw! Thank you for creating it.

So my request.... :wink:

I noticed that the LUX calculations seem to be fairly spot on overall on sunny days. My issue really surrounds cloudy days. The LUX factor in the APIXU doesn't seem to reflect the true LUX of the environment. I would say that the actual LUX value on a cloudy day is 50% less than what the DH is reporting. Any way to add a check for "cloudy with a chance of meatballs" and then take into account a lower LUX value?

As an example currently at 3:30PM on 10/29/2018 with a sunny day it is 4,473. IF today was actually cloudy at this time the LUX would be more like 1900-2100. Make sense?


you are welcome. :slight_smile:

thats already built in. here are some of the factors used in the adjustment:

Sunny = 1
Cloudy = 0.6
Overcast = 0.5
Mist = 0.5

and so on.

if any particular condition is not adjusted well enough … happy to update the factor for closer approximation?


I will look at the code on my next cloudy day. :grin:



Alrighty....guess what?!? It is cloudy with a chance of meatballs here in Chicago again today. So I went ahead and modified the following the following condition factors: cloudy, patchy rain possible, partly cloudy, to 0.4 which is representative of the true lux outside for this latitude. Maybe thoughts on a sliding scale for latitude could help with more accuracy.

Another thing was I am not seeing the polling/refresh happen correctly. When I went into the device information it stated the conditions was sunny but the conditions are not that. I did have my polling at every 5 minutes (why I do not know). Is there a limit of polls in a day/month? I reset it back to the recommended 30 minutes.


could do that … but would need user input from a range of locations to get to the right scale. :slight_smile:

the polling/refresh is probably happening correctly unless there are errors in the log. think apixu only updates their data hourly … at least for the free plan.


Gotcha! So polling every 30 minutes really doesn't do anything eh?


it does … not knowing exactly when apixu updates their data for your location … it keeps the wait down to a max of 29 minutes instead of a max 59 minutes.

with that in mind … polling every 5 mins is fine so long as you are using that api key for only one location.


Thank you for putting this together. Just want to share my current weather dashboard and the code I used to create it. I just put this together. Need to create some html to go full screen when clicking the on the radar map.

    in Metadata
    attribute "mytile", "string"

    at the end of poll()
def mytext =obs.location.name + ', ' + obs.location.region
mytext+='<br>' + '<img src=https:' + obs.current.condition.icon + '>'
if (isFahrenheit)
	mytext+='<br>' + "${Math.round(obs.current.temp_f)}" + '&deg;F ' + obs.current.humidity + '%'
	mytext+='<br>' + localSunrise + ' - ' + localSunset
	mytext+='<br>' + obs.current.wind_dir + ' ' + "${Math.round(obs.current.wind_mph)}" +'mph'
	mytext+='<br>' + obs.current.temp_c + '&deg;C ' + obs.current.humidity + '%'
	mytext+='<br>' + localSunrise + ' - ' + localSunset
	mytext+='<br>' + obs.current.wind_dir + ' ' + obs.current.wind_kph +'kph'
sendEvent(name: "mytile", value: mytext, isStateChange: true, displayed: true)

The USA radar map is from http://www.intellicast.com/

  • radar --> current loops
  • select your location --> play animation
  • copy the image location of the animated map then use in an image tile


Thanks for all ot the work on this--just tried it and it seems to work well. One huge plus for me over OpenWeatherMap is that it actually reports weather for my town whereas OWM was giving me weather conditions for a city located over 15 miles away.

One question though; is there a way get notifications based on a certain temp threshold such as "Notify me if temp drops below 32 degrees"?