[UPDATED] Weewx Weather Driver With External Forecasting

community_driver

#142

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


#143

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


#144

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

Andy


#145

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


#146

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


#147

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


#148

WOW, Was just trying to help. Tough crowd


#149

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


#150

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.


#151

image

Turn this off :slight_smile:


#152

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


#153

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

even if I change the units to F

image


#154

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


#155

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


#156

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

They must be coming from the json file


#157

Which json file are you using?


#158

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


#159

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%"
}
}
}


#160

they are coming from json


#161

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