I goofed up posting, please forgive the retry.

61 views
Skip to first unread message

DR

unread,
Apr 6, 2023, 4:13:21 PM4/6/23
to weewx...@googlegroups.com
I have run 4.5.1 for some time, and had gotten suggestions on how to
modify the formating of one of the Current area statements, along with
adding two pieces of information which are generating from the data
base, but have no formal definition or schema name, to wit:

4.5.1, which shows:


Outside Temperature     35.0°F (∆ +1.2°F)
Heat Index     35.0°F
Wind Chill     35.0°F
Dew Point     32.6°F
Humidity     91%
Barometer     29.481 inHg (-0.060 in)
Wind     0 mph N/A ( N/A)
Rain Rate     0.00 in/h
Rain Today     0.00 in
Rainfall Yesterday     0.00 in
Last Rain     06/18/2022 05:00:00 PM
286 days, 4 hours, 25 minutes ago
Inside Temperature     67.0°F


which shows the out temp as compared to yesterday at this time and the
formatted delta sign, along with the Rainfall yesterday and last rain
line along with another line saying how long ago that was.

These are the html  generating statements to get that display

      <tr>
         <td class="label">$obs.label.outTemp</td>
         <td class="data">$current.outTemp (∆
$trend(time_delta=86400).outTemp.format("%+.1f"))</td>
       </tr>
       <tr>
         <td class="label">$obs.label.heatindex</td>
         <td class="data">$current.heatindex</td>
       </tr>
       <tr>
         <td class="label">$obs.label.windchill</td>
         <td class="data">$current.windchill</td>
       </tr>
       <tr>
         <td class="label">$obs.label.dewpoint</td>
         <td class="data">$current.dewpoint</td>
       </tr>
       <tr>
         <td class="label">$obs.label.outHumidity</td>
         <td class="data">$current.outHumidity</td>
       </tr>
       <tr>
         <td class="label">$obs.label.barometer</td>
         <td class="data">$current.barometer ($trend.barometer.formatted
in)</td>
       </tr>
       <tr>
         <td class="label">$obs.label.wind</td>
         <td class="data">$current.windSpeed
$current.windDir.ordinal_compass ($current.windDir)</td>
       </tr>
       <tr>
         <td class="label">$obs.label.rainRate</td>
         <td class="data">$current.rainRate</td>
       </tr>
       <tr>
         <td class="label">$obs.label.rain_today</td>
         <td class="data">$day.rain.sum</td>
       </tr>
       <tr>
        <td class="label">$obs.label.Rainfall Yesterday</td>
         <td class="data">$day($days_ago=1).rain.sum</td>
       </tr>
       <tr>
        <td class="label">$obs.label.Last Rain</td>
        <td class="data">$time_at('rain>0')<br/>$time_since('rain>0')
ago</td>
       </tr>


Question:

Is it possible to have 4.9.1 generate the similar current conditions as
I was in 4.5.1?

I have looked at the current.inc and there are no obvious places to
insert that code, to my eye.   The list of observations is cycled
through, but I cannot see where to insert the formatting for the delta
character, nor since the values for yesterday's rain do not actually
exist as a value in the data base (it is calculated with a sum function,
nor extracting the date of last rain, or the calculated time since last
rain also are not hard values in the data base, I'm confused as to how
to control the generation of those values, and to exercise control of
where in the list of current conditions those can be placed.

I have looked in the Seasons directory, at the current.inc and also the
skins.conf for that directory and find a lot of formatting for the
PLOTS, I don't find any areas that look like it should control the
textual information along the left side.


If I've not confused you, can you provide some guidance as to where I
need to look to control the formatting, where to add the statements and
choose order of appearance ?

I think I have read the customization and user guide a couple times
looking for information there and learn something new each time, but
haven't found this particular guidance.

Thank you.  Dale

Tom Keffer

unread,
Apr 6, 2023, 6:05:06 PM4/6/23
to weewx...@googlegroups.com
The Seasons skin "autoprovisions", which means that if there is any recent data for an observation type, it is automatically included in `current.inc`, using a standard format.

In your case, you want to customize outTemp, so you will have to remove it from the autoprovisioning list, then include it manually. Here's how to do this.

In the Season's skin.conf, you will see an option called `observations_current`. It looks something like this:

    observations_current = outTemp, heatindex, windchill, ...

Remove `outTemp`, so it looks like this:

    observations_current = heatindex, windchill, ...

Now go into `current.inc` and add it back in. Look for this code.

#for $x in $observations
  #if $getVar('year.%s.has_data' % $x)
    #if $x == 'barometer'

      <tr>
        <td class="label">$obs.label.barometer</td>
        <td class="data">$current.barometer ($trend.barometer.formatted)</td>
      </tr>
    #elif $x == 'windSpeed'
      ...

 Note how it has a special case for 'barometer', 'windSpeed' and other observation types. You want to do something similar for 'outTemp'. When you're done, it will look something like this:

#for $x in $observations
  #if $getVar('year.%s.has_data' % $x)
    #if $x == 'barometer'

      <tr>
        <td class="label">$obs.label.barometer</td>
        <td class="data">$current.barometer ($trend.barometer.formatted)</td>
      </tr>
    # elif $x == 'outTemp'
      <tr>
        <td class="label">$obs.label.outTemp</td>
        <td class="data">$current.outTemp (∆ $trend(time_delta=86400).outTemp.format("%+.1f"))</td></td>
      </tr>
    # elif $x == 'windSpeed'
      ...
    
You've manually added specialized formatting for outTemp.

Do something similar for any other  variables you want to customize

Hope that helps.

-tk




--
You received this message because you are subscribed to the Google Groups "weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email to weewx-user+...@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/weewx-user/0a06df03-9a3d-0cf2-c21c-154800d2d385%40gmail.com.

DR

unread,
Apr 7, 2023, 8:20:55 AM4/7/23
to weewx...@googlegroups.com

This was very helpful and got me over my barrier of not quite getting the lay of the land on the inner logic and flow.  Thank you.


Today I'll play about with this and learn more.

Being it is running on my test or 'play' system, I assume I can't really break anything by trying something.


A question comes up about order of items to be displayed.  In these examples, the order in the autoprovisioning list determines the output to the Current Conditions display.   When one removes the observation type from that list and inserts it into the current.inc, how does the display engine determine the order of the final output?  Does it do all the observations in the auto list first, then reads the current.inc?

If someone has time to give me one more insight as to how this works I'd be grateful.  I am not trying to be obsequious, but the amount of work that has gone into every portion of this program is astounding.  Thanks for writing it!  Dale

Tom Keffer

unread,
Apr 7, 2023, 8:47:30 AM4/7/23
to weewx...@googlegroups.com
Geez, DR, I apologize. I started writing my post using one strategy, then changed it to another, but didn't go back to amend the first part of the post.

You should NOT modify observations_current. Just leave it as is.

The ordering is determined by the order in observations_current. So, if `outTemp` is the first item in the list, it will be the first item in the resultant HTML.

Again, apologies for creating a garbled post.

-tk

DR

unread,
Apr 7, 2023, 10:18:57 AM4/7/23
to weewx...@googlegroups.com

No apologies, ever please.  I was able to learn quite a bit from what you sent, and will just not modify the list of observations.  Sometimes the learning process isn't as fast for me as it used to be.  Thank you. Dale

Reply all
Reply to author
Forward
0 new messages