Having trouble getting forecast to work.

256 views
Skip to first unread message

Joe Brockway

unread,
Jan 16, 2017, 12:28:36 PM1/16/17
to weewx-user
I am running weewx 3.6.1, exfoliation .40 and forecast 3.2.9.

The forecast page displays: "forecast_table: forecast search list extension is not installed".

I have searched this group and tried everything. Nothing is getting the forecast to appear. This morning I installed and re-installed weewx-forecast-3.2.9.tgz. 

Here is my log:

Jan 16 10:07:36 raspberrypi weewx[13362]: forecast: MainThread: XTide: forecast will not be run

Jan 16 10:07:36 raspberrypi weewx[13362]: restx: StationRegistry: Registration not requested.

Jan 16 10:07:36 raspberrypi weewx[13362]: restx: Wunderground-RF: Data for station KCOLITTL149 will be posted

Jan 16 10:07:36 raspberrypi weewx[13362]: restx: PWSweather: Posting not enabled.

Jan 16 10:07:36 raspberrypi weewx[13362]: restx: CWOP: Posting not enabled.

Jan 16 10:07:36 raspberrypi weewx[13362]: restx: WOW: Posting not enabled.

Jan 16 10:07:36 raspberrypi weewx[13362]: restx: AWEKAS: Posting not enabled.

Jan 16 10:07:36 raspberrypi weewx[13362]: engine: Starting up weewx version 3.6.1

Jan 16 10:07:36 raspberrypi weewx[13362]: engine: Clock error is 1.12 seconds (positive is fast)

Jan 16 10:07:36 raspberrypi weewx[13362]: engine: Starting main packet loop.

Jan 16 10:10:15 raspberrypi weewx[13362]: manager: added record 2017-01-16 10:10:00 MST (1484586600) to database 'weewx.sdb'

Jan 16 10:10:15 raspberrypi weewx[13362]: manager: added record 2017-01-16 10:10:00 MST (1484586600) to daily summary in 'weewx.sdb'

Jan 16 10:10:16 raspberrypi weewx[13362]: forecast: ZambrettiThread: Zambretti: generated 1 forecast record

Jan 16 10:10:16 raspberrypi weewx[13362]: forecast: ZambrettiThread: Zambretti: saved 1 forecast records

Jan 16 10:10:16 raspberrypi weewx[13362]: forecast: ZambrettiThread: Zambretti: deleted forecasts prior to 1483981816

Jan 16 10:10:18 raspberrypi weewx[13362]: cheetahgenerator: Generate failed with exception '<class 'Cheetah.Parser.ParseError'>'

Jan 16 10:10:18 raspberrypi weewx[13362]: cheetahgenerator: **** Ignoring template /etc/weewx/skins/exfoliation/forecast.html.tmpl

Jan 16 10:10:18 raspberrypi weewx[13362]: cheetahgenerator: **** Reason: #012#012#end found, but nothing to end#012Line 29, column 1 in file /etc/weewx/skins/exfoliation/forecast.html.tmpl#012#012Line|Cheetah Code#012----|-------------------------------------------------------------#01226  | for $k in $Extras.forecast_page_forecast_settings#01227  | set global $forecast_table_settings[$k] = $Extras.forecast_page_forecast_settings[$k]#01228  |#end for#01229  |#end if#012     ^#01230  |#01231  | include "forecast_table.inc"#01232  |

Jan 16 10:10:18 raspberrypi weewx[13362]: ****  Traceback (most recent call last):

Jan 16 10:10:18 raspberrypi weewx[13362]: ****    File "/usr/share/weewx/weewx/cheetahgenerator.py", line 313, in generate

Jan 16 10:10:18 raspberrypi weewx[13362]: ****      filtersLib=weewx.cheetahgenerator)

Jan 16 10:10:18 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 1259, in __init__

Jan 16 10:10:18 raspberrypi weewx[13362]: ****      self._compile(source, file, compilerSettings=compilerSettings)

Jan 16 10:10:18 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 1553, in _compile

Jan 16 10:10:18 raspberrypi weewx[13362]: ****      keepRefToGeneratedCode=True)

Jan 16 10:10:18 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 743, in compile

Jan 16 10:10:18 raspberrypi weewx[13362]: ****      compiler.compile()

Jan 16 10:10:18 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Compiler.py", line 1664, in compile

Jan 16 10:10:18 raspberrypi weewx[13362]: ****      self._parser.parse()

Jan 16 10:10:18 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 1489, in parse

Jan 16 10:10:18 raspberrypi weewx[13362]: ****      self.eatDirective()

Jan 16 10:10:18 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 1613, in eatDirective

Jan 16 10:10:18 raspberrypi weewx[13362]: ****      directiveParser()

Jan 16 10:10:18 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 1764, in eatEndDirective

Jan 16 10:10:18 raspberrypi weewx[13362]: ****      self.popFromOpenDirectivesStack(directiveName)

Jan 16 10:10:18 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 2644, in popFromOpenDirectivesStack

Jan 16 10:10:18 raspberrypi weewx[13362]: ****      raise ParseError(self, msg="#end found, but nothing to end")

Jan 16 10:10:18 raspberrypi weewx[13362]: ****  ParseError:

Jan 16 10:10:18 raspberrypi weewx[13362]: **** 

Jan 16 10:10:18 raspberrypi weewx[13362]: ****  #end found, but nothing to end

Jan 16 10:10:18 raspberrypi weewx[13362]: ****  Line 29, column 1 in file /etc/weewx/skins/exfoliation/forecast.html.tmpl

Jan 16 10:10:18 raspberrypi weewx[13362]: **** 

Jan 16 10:10:18 raspberrypi weewx[13362]: ****  Line|Cheetah Code

Jan 16 10:10:18 raspberrypi weewx[13362]: ****  ----|-------------------------------------------------------------

Jan 16 10:10:18 raspberrypi weewx[13362]: ****  26  | for $k in $Extras.forecast_page_forecast_settings

Jan 16 10:10:18 raspberrypi weewx[13362]: ****  27  | set global $forecast_table_settings[$k] = $Extras.forecast_page_forecast_settings[$k]

Jan 16 10:10:18 raspberrypi weewx[13362]: ****  28  |#end for

Jan 16 10:10:18 raspberrypi weewx[13362]: ****  29  |#end if

Jan 16 10:10:18 raspberrypi weewx[13362]: ****       ^

Jan 16 10:10:18 raspberrypi weewx[13362]: ****  30  |

Jan 16 10:10:18 raspberrypi weewx[13362]: ****  31  | include "forecast_table.inc"

Jan 16 10:10:18 raspberrypi weewx[13362]: ****  32  |

Jan 16 10:10:18 raspberrypi weewx[13362]: **** 

Jan 16 10:10:24 raspberrypi weewx[13362]: cheetahgenerator: Generated 8 files for report StandardReport in 7.99 seconds

Jan 16 10:10:26 raspberrypi weewx[13362]: genimages: Generated 18 images for StandardReport in 2.49 seconds

Jan 16 10:10:26 raspberrypi weewx[13362]: reportengine: copied 65 files to /var/www/weewx

Jan 16 10:10:28 raspberrypi weewx[13362]: cheetahgenerator: Generate failed with exception '<class 'Cheetah.Parser.ParseError'>'

Jan 16 10:10:28 raspberrypi weewx[13362]: cheetahgenerator: **** Ignoring template /etc/weewx/skins/exfoliation/forecast.html.tmpl

Jan 16 10:10:28 raspberrypi weewx[13362]: cheetahgenerator: **** Reason: #012#012#end found, but nothing to end#012Line 29, column 1 in file /etc/weewx/skins/exfoliation/forecast.html.tmpl#012#012Line|Cheetah Code#012----|-------------------------------------------------------------#01226  | for $k in $Extras.forecast_page_forecast_settings#01227  | set global $forecast_table_settings[$k] = $Extras.forecast_page_forecast_settings[$k]#01228  |#end for#01229  |#end if#012     ^#01230  |#01231  | include "forecast_table.inc"#01232  |

Jan 16 10:10:28 raspberrypi weewx[13362]: ****  Traceback (most recent call last):

Jan 16 10:10:28 raspberrypi weewx[13362]: ****    File "/usr/share/weewx/weewx/cheetahgenerator.py", line 313, in generate

Jan 16 10:10:28 raspberrypi weewx[13362]: ****      filtersLib=weewx.cheetahgenerator)

Jan 16 10:10:28 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 1259, in __init__

Jan 16 10:10:28 raspberrypi weewx[13362]: ****      self._compile(source, file, compilerSettings=compilerSettings)

Jan 16 10:10:28 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 1553, in _compile

Jan 16 10:10:28 raspberrypi weewx[13362]: ****      keepRefToGeneratedCode=True)

Jan 16 10:10:28 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Template.py", line 743, in compile

Jan 16 10:10:28 raspberrypi weewx[13362]: ****      compiler.compile()

Jan 16 10:10:28 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Compiler.py", line 1664, in compile

Jan 16 10:10:28 raspberrypi weewx[13362]: ****      self._parser.parse()

Jan 16 10:10:28 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 1489, in parse

Jan 16 10:10:28 raspberrypi weewx[13362]: ****      self.eatDirective()

Jan 16 10:10:28 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 1613, in eatDirective

Jan 16 10:10:28 raspberrypi weewx[13362]: ****      directiveParser()

Jan 16 10:10:28 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 1764, in eatEndDirective

Jan 16 10:10:28 raspberrypi weewx[13362]: ****      self.popFromOpenDirectivesStack(directiveName)

Jan 16 10:10:28 raspberrypi weewx[13362]: ****    File "/usr/lib/python2.7/dist-packages/Cheetah/Parser.py", line 2644, in popFromOpenDirectivesStack

Jan 16 10:10:28 raspberrypi weewx[13362]: ****      raise ParseError(self, msg="#end found, but nothing to end")

Jan 16 10:10:28 raspberrypi weewx[13362]: ****  ParseError:

Jan 16 10:10:28 raspberrypi weewx[13362]: **** 

Jan 16 10:10:28 raspberrypi weewx[13362]: ****  #end found, but nothing to end

Jan 16 10:10:28 raspberrypi weewx[13362]: ****  Line 29, column 1 in file /etc/weewx/skins/exfoliation/forecast.html.tmpl

Jan 16 10:10:28 raspberrypi weewx[13362]: **** 

Jan 16 10:10:28 raspberrypi weewx[13362]: ****  Line|Cheetah Code

Jan 16 10:10:28 raspberrypi weewx[13362]: ****  ----|-------------------------------------------------------------

Jan 16 10:10:28 raspberrypi weewx[13362]: ****  26  | for $k in $Extras.forecast_page_forecast_settings

Jan 16 10:10:28 raspberrypi weewx[13362]: ****  27  | set global $forecast_table_settings[$k] = $Extras.forecast_page_forecast_settings[$k]

Jan 16 10:10:28 raspberrypi weewx[13362]: ****  28  |#end for

Jan 16 10:10:28 raspberrypi weewx[13362]: ****  29  |#end if

Jan 16 10:10:28 raspberrypi weewx[13362]: ****       ^

Jan 16 10:10:28 raspberrypi weewx[13362]: ****  30  |

Jan 16 10:10:28 raspberrypi weewx[13362]: ****  31  | include "forecast_table.inc"

Jan 16 10:10:28 raspberrypi weewx[13362]: ****  32  |

Jan 16 10:10:28 raspberrypi weewx[13362]: **** 

Jan 16 10:10:31 raspberrypi weewx[13362]: cheetahgenerator: Generated 8 files for report exfoliation in 4.94 seconds

Jan 16 10:10:34 raspberrypi weewx[13362]: genimages: Generated 18 images for exfoliation in 2.48 seconds

Jan 16 10:10:34 raspberrypi weewx[13362]: reportengine: copied 65 files to /var/www/weewx/exfoliation

Jan 16 10:10:53 raspberrypi weewx[13362]: cheetahgenerator: Generated 10 files for report forecast in 19.06 seconds

Jan 16 10:10:53 raspberrypi weewx[13362]: reportengine: copied 87 files to /var/www/weewx/forecast

 

 Would anyone be able to give a starting place to trouble shoot this?


This is the most information I have seen that relates to the forecast. I did edit out several of the # in the forecast.html.tmpl. It appeared  that all the lines in the forecast.html.tmpl were commented out.


  GNU nano 2.2.6                                                      File: forecast.html.tmpl                                                                                                                  


## exfoliation for weewx - Copyright 2012-2013 Matthew Wall

## $Id: forecast.html.tmpl 1639 2016-12-27 02:33:45Z mwall $

#errorCatcher Echo

#encoding UTF-8

<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns='http://www.w3.org/1999/xhtml'>

  <head profile='http://www.w3.org/2005/10/profile'>

    <!-- exfoliation for weewx - Copyright Matthew Wall -->

    #if $encoding == 'utf8'

    <meta http-equiv='Content-Type' content='text/html; charset=utf-8' />

    #end if

    <meta name='viewport' content='width=device-width' />

    <title>$station.location Forecast</title>

    <link rel='stylesheet' type='text/css' href='exfoliation.css'/>

    <link rel='stylesheet' type='text/css' href='forecast_table.css'/>

    <link rel='icon' type='image/png' href='favicon.ico' />

  </head>


  <body>

 include "header.inc"


<div id='content'>


 if $varExists('Extras') and $Extras.has_key('forecast_page_forecast_settings')

 set global $forecast_table_settings = dict()

 for $k in $Extras.forecast_page_forecast_settings

 set global $forecast_table_settings[$k] = $Extras.forecast_page_forecast_settings[$k]

#end for

#end if


 include "forecast_table.inc"


</div>


 include "footer.inc"

  </body>

</html>



Help!
skin.conf
weewx.conf

mwall

unread,
Jan 16, 2017, 12:37:06 PM1/16/17
to weewx-user
On Monday, January 16, 2017 at 12:28:36 PM UTC-5, Joe Brockway wrote:
I am running weewx 3.6.1, exfoliation .40 and forecast 3.2.9.

The forecast page displays: "forecast_table: forecast search list extension is not installed".

you need to add the ForecastVariables search list extension to your exfoliation skin.conf:

[CheetahGenerator]
    search_list_extensions = user.forecast.ForecastVariables

you will also have to add the forecast icons to the copy list in your exfoliation skin.conf:

[CopyGenerator]
    copy_once = ..., icons/*.png

you will also have to copy the forecast icons to the exfoliation skin:

cp -rp skins/forecast/icons skins/exfoliation

sorry about all the extra steps - we'll have to figure out some way to automatically integrate interdependent extensions.


 Would anyone be able to give a starting place to trouble shoot this?


This is the most information I have seen that relates to the forecast. I did edit out several of the # in the forecast.html.tmpl. It appeared  that all the lines in the forecast.html.tmpl were commented out.


in a cheetah template, the # character is not a comment.  a comment is ##

when you removed the # characters you broke the template.

m
Message has been deleted

Joe Brockway

unread,
Jan 16, 2017, 1:53:18 PM1/16/17
to weewx-user
Ok. I have made those changes. Thank you.

Here is what it looks like. http://73.14.239.120:32983/weewx/

If you click on forecast you will see new page.

I added the information in the weewx.conf to pull forecast from WU and NWS. I would like the forecast page to have this format: http://sailing.mit.edu/weather/forecast.html

I would like to have the drop down to be able to pick the forecast source and have the table, strip and compare options.


Thanks in advance.


mwall

unread,
Jan 16, 2017, 1:58:01 PM1/16/17
to weewx-user
On Monday, January 16, 2017 at 1:47:20 PM UTC-5, Joe Brockway wrote:
Here is what it looks like. http://73.14.239.120:32983/weewx/

If you click on forecast you will see the new message.

there is a space between the '#' and 'include' in forecast.html.tmpl

that might be causing cheetah to not include header.inc

the forecast page is set to only regenerate every 4 hours (see 'stale_age' in exfoliation/skin.conf)

so just delete forecast.html and it will be regenerated when the report runs again (next archive interval)

 
I added the information in the weewx.conf to pull forecast from WU and NWS. As you can see I am only displaying WU. How do I get it display both WU and NWS. Also How do I get the forecast to be more than three days?

take a look at exfoliation/skin.conf

you want num_periods for the current_page_forecast_settings

i have attached the forecast.html.tmpl from the mitna skin (which is derived from exfoliation) so you can see how the menus are done.  notice that the forecast comparison is not yet ready for primetime.  too many projects, not enough time!

m
forecast.html.tmpl

Joe Brockway

unread,
Jan 16, 2017, 2:41:16 PM1/16/17
to weewx...@googlegroups.com
Thank you. 

My forecast page is working now.


--
You received this message because you are subscribed to a topic in the Google Groups "weewx-user" group.
To unsubscribe from this topic, visit https://groups.google.com/d/topic/weewx-user/r3w3ptPHSj8/unsubscribe.
To unsubscribe from this group and all its topics, send an email to weewx-user+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.

Joe Brockway

unread,
Jan 16, 2017, 3:19:51 PM1/16/17
to weewx-user
So if I replace my forecast.html.tmpl with the one you have above here I should have the option (on the forecast page) of which forecast to look at and change the way it is displayed?

mwall

unread,
Jan 16, 2017, 4:17:43 PM1/16/17
to weewx-user


On Monday, January 16, 2017 at 3:19:51 PM UTC-5, Joe Brockway wrote:
So if I replace my forecast.html.tmpl with the one you have above here I should have the option (on the forecast page) of which forecast to look at and change the way it is displayed?


the mitna forecast.html.tmpl includes mitna.css, so you'll want to change that to exfoliation.css.  but it should get you most of the way.

be sure to save a copy of the exfoliation forecast.html.tmpl

m

Joachim Rummler

unread,
Feb 2, 2017, 5:15:57 AM2/2/17
to weewx-user
Hello Joe,

I have the same problem with my exoliation skin and I saw that your's is working now. I mean, I followed the advices given by mwall but I still have the same error. Can you sent me your weewx.conf. forecast-template and the skin.conf of the exfoliation skin? That would be helpful for me. Thank you.

Jochen
To unsubscribe from this group and all its topics, send an email to weewx-user+...@googlegroups.com.
Reply all
Reply to author
Forward
0 new messages