[UPDATED] Weewx Weather Driver With External Forecasting

BTW
If I have missed an important attribute or you need a different combination of attributes, please let me know and I'll look at coding it for you

Andy

Andy I created a weeWX extension that installs a new skin called Hubitat and installs daily.json.tmpl

Scott
That’s brilliant!
Do you have it running somewhere so we can see the skin?

Andy

1 Like

It's not a REAL skin.... the only thing it does is create the template skin.

The extension does all this automatically. And doesn't matter what skin you are using. It creates the daily.json in the HTML_ROOT found in your weewx.conf

And PLEASE don't rip Andy's code !!! He and I have spent hours debugging this to make it work.

1 Like

WOW, Was just trying to help. Tough crowd

You added code in the middle of another routine which could make the driver unstable.

I spent many hours rewriting parts of the code to get the information into a new method/routine

I made this mistake in one of my apps where I added code from another source - I have since had to rip it out as it caused problems

Not my comment.
However; I realise that this platform uses open source licenses and I am unable to compile my drivers/apps so not much I can do about people copying my code to use in their own apps/drivers

Hi Cobra! Really useful driver. Thank you.
One thing that came up - I am generating daily.json with temperature symbol (F) already present and this generates double FF - would be nice to have an option not to include temperature measurement symbol in dropdown.

image

Turn this off :slight_smile:

Upon more investigation (even with Display data units off) I am getting FF in WeatherDisplay attribute

  • DriverStatus : Current

  • DriverUpdate : N/A

  • DriverVersion : 2.8.0

  • LastUpdate-External : 2019-02-12 11:45

  • LastUpdate-Weewx : 02/12/2019 11:55:00 AM

  • Refresh-External : 3 Hours

  • Refresh-Weewx : 5 Minutes

  • WeatherDisplay : Ada Weather
    Current Weather: Light freezing rain
    Forecast Weather: Blizzard
    Temp: 27.7°F °F - Feels like 27.0°F °F
    Wind: 2 mph, Gust: 4 mph
    Pressure: 29.976 inhg
    Humidity: 99%
    Chance of Rain: null%

  • WeewxLocation : Ada, MI

  • WeewxUptime : 2 days, 17 hours, 29 minutes

  • city : Ada

  • country : USA

  • dewpoint : 27.4°F

  • feelsLike : 27.0°F

  • forecastHigh : 34.2

  • forecastIcon : snow

  • forecastLow : 21.6

  • humidity : 99

Hmmm..
I'm not getting that at all..

even if I change the units to F

image

Is it the 'standard' dashboard summary or a custom one?

That was custom.
Here is standard:

  • DriverStatus : Current

  • DriverUpdate : N/A

  • DriverVersion : 2.8.0

  • LastUpdate-External : 2019-02-12 12:45

  • LastUpdate-Weewx : 02/12/2019 12:50:00 PM

  • Refresh-External : 3 Hours

  • Refresh-Weewx : 5 Minutes

  • WeatherDisplay : Ada Weather
    Current Weather: Light freezing rain
    Forecast Weather: Blizzard
    Temp: 28.9°F °F - Feels like 28.9°F °F
    Wind: 1 mph, Gust: 3 mph
    Pressure: 29.964 inhg
    Humidity: 99%
    Chance of Rain: null%

  • WeewxLocation : Ada, MI

  • WeewxUptime : 2 days, 18 hours, 24 minutes

  • city : Ada

  • country : USA

  • dewpoint : 28.7°F

  • feelsLike : 28.9°F

  • forecastHigh : 34.2

  • forecastIcon : snow

  • forecastLow : 21.6

  • humidity : 99

  • illuminance : No Station Data

  • inside_humidity : No Station Data

  • inside_temperature : 63.0°F

If you have units turned off then you shouldn't be seeing these

They must be coming from the json file

Which json file are you using?

silly question... you did 'save' the preferences after turning off the units?

this is my daily.json.tmpl

#encoding UTF-8
{
"title":"Current Values",
"location":"$station.location",
"time":"$current.dateTime",
"lat":"$station.latitude[0]° $station.latitude[1]' $station.latitude[2]",
"lon":"$station.longitude[0]° $station.longitude[1]' $station.longitude[2]",
"alt":"$station.altitude",
"hardware":"$station.hardware",
"uptime":"$station.uptime",
"serverUptime":"$station.os_uptime",
"weewxVersion":"$station.version",
"stats": {
"current": {
"outTemp":"$current.outTemp",
"windchill":"$current.windchill",
"heatIndex":"$current.heatindex",
"dewpoint":"$current.dewpoint",
"humidity":"$current.outHumidity",
"insideHumidity":"$current.inHumidity",
"barometer":"$current.barometer",
"barometerTrendDelta":"$trend.time_delta.hour.format("%.0f")",
"barometerTrendData":"$trend.barometer",
"windSpeed":"$current.windSpeed",
"windDir":"$current.windDir",
"windDirText":"$current.windDir.ordinal_compass",
"windGust":"$current.windGust",
"windGustDir":"$current.windGustDir",
"rainRate":"$current.rainRate",
#if $day.extraTemp1.has_data
"pondTemp":"$current.extraTemp1",
#end if
#if $day.UV.has_data
"UV":"$current.UV",
#end if
#if $day.ET.has_data and $day.ET.sum.raw > 0.0
"ET":"$current.ET",
#end if
#if $day.radiation.has_data
"solarRadiation":"$current.radiation",
#end if
"insideTemp":"$current.inTemp"

},

"sinceMidnight": {
"rainSum":"$day.rain.sum",
"maxtemptoday":"$day.outTemp.max",
"mintemptoday":"$day.outTemp.min",
"maxinsidetemptoday":"$day.inTemp.max",
"mininsidetemptoday":"$day.inTemp.min"
}
},

"almanac":{
#if $almanac.hasExtras
"sun":{
"startCivilTwilight":"$almanac(horizon=-6).sun(use_center=1).rise",
"sunrise":"$almanac.sun.rise",
"transit":"$almanac.sun.transit",
"sunset":"$almanac.sun.set",
"endCivilTwilight":"$almanac(horizon=-6).sun(use_center=1).set",
"azimuth":"$("%.1f°" % $almanac.sun.az)",
"altitude":"$("%.1f°" % $almanac.sun.alt)",
"rightAscension":"$("%.1f°" % $almanac.sun.ra)",
"declination":"$("%.1f°" % $almanac.sun.dec)",
"equinox":"$almanac.next_equinox",
"solstice":"$almanac.next_solstice"
},
"moon":{
"rise":"$almanac.moon.rise",
"transit":"$almanac.moon.transit",
"set":"$almanac.moon.set",
"azimuth":"$("%.1f°" % $almanac.moon.az)",
"altitude":"$("%.1f°" % $almanac.moon.alt)",
"rightAscension":"$("%.1f°" % $almanac.moon.ra)",
"declination":"$("%.1f°" % $almanac.moon.dec)",
"fullMoon":"$almanac.next_full_moon",
"newMoon":"$almanac.next_new_moon",
"phase":"$almanac.moon_phase",
"fullness":"$almanac.moon_fullness%"
}
#else
"sun":{
"sunrise":"$almanac.sunrise",
"sunset":"$almanac.sunset",
},
"moon":{
"phase":"$almanac.moon_phase",
"fullness":"$almanac.moon_fullness%"
}
#end if
}
}

And her it is populated:

{
"title":"Current Values",
"location":"Ada, MI",
"time":"02/12/2019 01:05:00 PM",
"lat":"42° 58.21' N",
"lon":"085° 33.40' E",
"alt":"830 feet",
"hardware":"AcuRite 01536",
"uptime":"0 days, 20 hours, 36 minutes",
"serverUptime":"2 days, 18 hours, 39 minutes",
"weewxVersion":"3.8.2",
"stats": {
"current": {
"outTemp":"29.3°F",
"windchill":"28.7°F",
"heatIndex":"29.3°F",
"dewpoint":"29.1°F",
"humidity":"99%",
"insideHumidity":" N/A",
"barometer":"29.990 inHg",
"barometerTrendDelta":"3 hours",
"barometerTrendData":"0.052 inHg",
"windSpeed":"2 mph",
"windDir":"88°",
"windDirText":"E",
"windGust":"4 mph",
"windGustDir":"112°",
"rainRate":"0.00 in/hr",
"insideTemp":"63.1°F"

},

"sinceMidnight": {
"rainSum":"0.00 in",
"maxtemptoday":"29.3°F",
"mintemptoday":"23.7°F",
"maxinsidetemptoday":"64.1°F",
"mininsidetemptoday":"61.6°F"
}
},

"almanac":{
"sun":{
"sunrise":"08:19:51 PM",
"sunset":"06:44:07 AM",
},
"moon":{
"phase":"First quarter",
"fullness":"48%"
}
}
}

they are coming from json

The driver was designed to strip these units off and only replace them at the end (if configured to)..
Not sure why yours are not being stripped off