Parcourir la source

Several updates and fixes

A few bug fixes. Added more checks for data, updated icons package, reworked the station.html page.
Josh Smith il y a 6 ans
Parent
commit
b8e77e3f7f
8 fichiers modifiés avec 1135 ajouts et 783 suppressions
  1. 257 0
      about.html.tmpl
  2. 104 83
      index.html.tmpl
  3. 73 48
      month.html.tmpl
  4. 137 95
      skin.conf
  5. 232 287
      summary.html.tmpl
  6. 164 171
      text.php.tmpl
  7. 103 56
      week.html.tmpl
  8. 65 43
      year.html.tmpl

+ 257 - 0
about.html.tmpl

@@ -0,0 +1,257 @@
+<!DOCTYPE html>
+<html lang="en">
+  <head itemscope itemtype="http://schema.org/Website">
+    	<meta charset="utf-8">
+     	<meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<meta http-equiv="Refresh" content="180">
+	#if $Extras.has_key('cwop')
+     	<meta name="description" content="$station.location Weather Station ($Extras.cwop) - weather web site powered by WeeWX">
+     	#else
+     	<meta name="description" content="$station.location Weather Station - weather web site powered by WeeWX">
+	#end if
+	<meta name="viewport" content="width=device-width, initial-scale=1">
+     	<link rel="profile" href="http://gmpg.org/xfn/11" />
+	#if $Extras.has_key('web_url')
+	<link href="$Extras.web_url/about.html" itemprop="url"/>
+	#end if
+        
+	<title itemprop="name">About $station.location Weather Station</title>
+        
+        <!-- Open Graph -->
+	<meta property="og:site_name" content="$station.location Station Information" />
+	<meta property="og:title" content="About the Station"/>
+	#if $Extras.has_key('web_url')
+	<meta property="og:url" content="$Extras.web_url/about.html"/>
+	#end if
+	<meta property="og:description" content="About $station.location - weather web site powered by WeeWX" />
+	<meta property="og:type" content="website" />
+	
+	<!-- FavIcons -->
+        <link rel="icon" href="favicon.ico" type="image/png">
+	<link rel="apple-touch-icon" href="touch-icon.png"/>
+        
+        <!-- Styles -->
+        <link href='http://fonts.googleapis.com/css?family=Lato:300,400,700' rel='stylesheet' type='text/css'>
+        <link rel="stylesheet" href="css/main.css">
+
+	<!-- Font Awesome CDN links for 5.3-->
+	<!-- If you have a pro license --!>
+	<link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-9ralMzdK1QYsk4yBY680hmsb4/hJ98xK3w0TIaJ3ll4POWpWUYaA2bRjGGujGT8w" crossorigin="anonymous">
+	<!-- Free license --!>
+        <!-- <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous"> --!>
+
+        
+     	<!-- Skripte -->
+     	<script src="js/modernizr-2.6.2.min.js"></script>
+	<script src="js/checkdiff.js"></script>     
+  </head>
+
+  <body>
+    <header>
+      <div class="container-fix" >
+        <div class="h-left" >
+          <h1><i class="fas fa-cloud" ></i> $station.location </h1>
+          <p>$station.latitude[0]&deg; $station.latitude[1]' $station.latitude[2] | $station.longitude[0]&deg; $station.longitude[1]' $station.longitude[2] | $station.altitude | <a href="https://www.google.com/maps/?q=$station.latitude[0]&deg;%20$station.latitude[1]%20$station.latitude[2],$station.longitude[0]&deg;%20$station.longitude[1]%20$station.longitude[2]" target="_blank" ><i class="fas fa-map-marker-alt" ></i> Show on map</a></p>
+          <h2>Current Weather Conditions</h2>
+          <p><i class="far fa-clock" ></i> $current.dateTime $current.dateTime.format("%Z")</p>
+          <p id="freshweather" class="m-orange"></p>
+          <script>
+            window.onload = checkDiff("$current.dateTime ($current.dateTime.format('%Z'))");
+          </script>
+        </div>
+        <div class="h-right" >
+          <table>
+            <tr>
+              <td><b>Station:</b></td>
+              <td>$station.hardware</td>
+            </tr>
+            <tr>
+              <td><b>Software:</b></td>
+              <td><a href="http://weewx.com/" target="_blank" >WeeWX v$station.version</a></td>
+            </tr>
+            <tr>
+              <td><b>Weewx uptime:</b></td>
+              <td>$station.uptime</td>
+            </tr>
+            <tr>
+              <td><b>Server uptime:</b></td>
+              <td>$station.os_uptime</td>
+            </tr>
+          </table>
+        </div>
+        <nav>
+          <ul class="topnav" id="myTopnav">
+            <li class="icon"><a href="javascript:void(0);" onclick="myFunction()"><i class="fas fa-bars" ></i></a></li>
+            <li><a href="/" >Current</a></li>
+            <li><a href="week.html" >Week</a></li>
+            <li><a href="month.html" >Month</a></li>
+            <li><a href="year.html" >Year</a></li>
+            <li><a href="summary.html" >Summaries</a></li>
+            <li class="active"><a href="about.html" >About</a></li>
+            <li><a href="RSS/weewx_rss.xml" ><i class="fas fa-rss" ></i></a></li>
+          </ul>
+        </nav>
+      </div>
+    </header>
+    
+    <!-- Main container -->  
+     <div class="main" >
+        <div class="container" >
+		<div class="card">
+        		<h1><i class="fal fa-info-circle"></i> About the Station</h1>
+        		Weather data from a <a href="http://weatherflow.com/smart-home-weather-stations">WeatherFlow Smart Weather Station</a> which is located about 5 miles south-southeast of Meridian, Idaho, is sent to this website every 2.5 minutes. This is a personal
+        		weather station which has been running since August 30, 2018. The station provides the following weather data:
+        		<br>
+        		<br> Temperature
+        		<br> Dewpoint
+        		<br> Humidity
+        		<br> Wind Speed and Direction
+        		<br> Rain and rain intensity
+        		<br> Barometric Pressure
+        		<br> UV
+        		<br> Solar Radiation
+        		<br> Lightning Strikes and distance
+        		<br>
+        		<br> Data is also sent to:
+        		<br>
+        		<table>
+		          <tr>
+		            <td width = "70">
+		              <img src="http://cw9009.x10host.com/icons/cwop.png" title="CWOP" alt="cwop" height="60" width="60" />
+		            </td>
+		            <td>
+		              <a href="http://www.findu.com/cgi-bin/wxpage.cgi?call=CW9009&last=24" target="_blank"> CW9009</a> on CWOP (every 10 minutes)
+		            </td>
+		          </tr>
+		          <tr>
+		            <td width = "70">
+		              <img src="http://cw9009.x10host.com/icons/mesowest.png" height="60" width="60" title="Mesowest" alt="C9009" />
+		            </td>
+		            <td>
+		              <a href="https://mesowest.utah.edu/cgi-bin/droman/meso_base_dyn.cgi?stn=C9009&unit=0&timetype=LOCAL" target="_blank"> C9009</a> on Mesowest (every 10 minutes)
+		            </td>
+		          </tr>
+		          <tr>
+		            <td width = "70">
+		              <img src="http://cw9009.x10host.com/icons/wu.png" title="Weather Underground" alt="KIDMERID85" height="40" width="60" />
+		            </td>
+		            <td>
+		              <a href="https://www.wunderground.com/personal-weather-station/dashboard?ID=KIDMERID85" target="_blank"> KIDMERID85</a> on Weather Underground (every 60 seconds)
+		            </td>
+		          </tr>
+		          <tr>
+		            <td width = "70">
+		              <img src="http://cw9009.x10host.com/icons/weatherflow.png" title="WeatherFlow" alt="4952" height="60" width="60" />
+		            </td>
+		            <td>
+		              <a href="https://smartweather.weatherflow.com/share/4952/grid" target="_blank"> 4952</a> on WeatherFlow (every 60 seconds)
+		            </td>
+		          </tr>
+		     	</table>
+        		<br>
+        		Daily rain and snowfall observations is taken near the WeatherFlow Station. This data is available here:
+        		<br>
+			<table>
+		          <tr>
+		            <td width = "70">
+			      <img src="http://cw9009.x10host.com/icons/CoCoRaHS.png" height="60" width="60" title="CoCoRaHS" alt="CoCoRaHS" />
+		            </td>
+		            <td>
+			      <a href="https://www.cocorahs.org/ViewData/CountyDailyPrecipReports.aspx?state=ID&county=AD" target="_blank"> ID-AD-45</a> on CoCoRaHS (daily around 700 AM LT)
+		            </td>
+		          </tr>
+			</table>
+        		<br>
+        		<br> Software:
+        		<br>
+        		<a href="http://weewx.com/" target="_blank">WeeWX v3.8.2</a> using the <a href="https://github.com/captain-coredump/weatherflow-udp" target="_blank">weatherflowUDP driver</a> <i class="fab fa-github"></i>
+        		<br>
+        		<a href="http://fontawesome.com/" target="_blank">Font Awesome</a> icons <i class="fab fa-fort-awesome-alt"></i> used in the template.
+        		<br>
+        		<br> Hardware:
+        		<br>
+        		<a href="https://www.raspberrypi.org/" target="_blank">Raspberry Pi 2 Model B</a>
+        		<br>
+        		<br>
+      		</div>
+
+      		<div class="card">
+        		<h1><i class="far fa-code"></i> Site Code</h1>
+        		<p>
+          		This web site uses the Sofaskin template for <a href="http://www.weewx.com">WeeWX</a>, designed by Sven at <a href="http://neoground.com/projects/weewx/">Neoground</a>. Sofaskin is a custom skin modelled from Google's Material Design that uses
+          		<a href="http://getbootstrap.com">Bootstrap</a> to display the weather data. I made a variety of functional changes to the original Sofaskin code which is available on GitHub. My Sofaskin-CW9009 skin needs an additional python script, historygenerator.py,
+          		which was adapted from another skin, <a href="http://www.dajda.net/about.html">Dajda.net</a>, to generate the history tables. I have also incorporated some changes in this template by <a href="http://www.torkel.se/weather/index.html">Bjorn Torkelsson</a>.
+          		The code for the web page skins and python script is available from the web sites below.
+          		<br><br> Original Sofaskin template from Neoground:
+          		<br>
+          		<i class="far fa-external-link-square-alt fa-lg"> </i><a href="http://neoground.com/projects/weewx/" target="_blank"> Neoground</a>
+          		<br><br> My Sofaskin-CW9009 template:
+          		<br><i class="fab fa-github-square fa-lg"> </i> <a href="http://github.com/weatherstorm/Sofaskin-CW9009" target="_blank"> Github Repository</a>
+          		<br><br> Dajda template for historygenerator.py code:
+          		<br>
+          		<i class="far fa-external-link-square-alt fa-lg"></i> <a href="http://www.dajda.net/about.html" target="_blank"> Dajda</a>
+          		<br>
+          		<i class="fab fa-github-square fa-lg"></i> <a href="http://github.com/brewster76/fuzzy-archer" target="_blank"> Dajda Github Repository</a>
+          		<br>
+          		<br>
+        		</p>
+      		</div>
+
+      		<div class="card">
+        		<h1><i class="fas fa-envelope m-rot"></i> Contact</h1>
+        		<div class="contact">
+          		Josh Smith
+          		<br>
+          		<a href=mailto:Josh@cw9009.x10host.com>Josh@cw9009.x10host.com</a>
+        		</div>
+      		</div>
+
+    </div>
+  </div>
+   
+   <footer>
+	  <div class="container-fix">
+      <div style="text-align:center">
+		#if $Extras.has_key('you')
+		<i class="fab fa-pied-piper-pp"> </i><a href=mailto:$Extras.email> $Extras.you</a> 
+		#end if
+		&sdot;
+		Copyright <i class="far fa-copyright"></i> $latest.dateTime.format("%Y") 
+		<br>
+		Sofaskin by <a href="http://blauesledersofa.de">Blaues Ledersofa</a>
+		&sdot;
+		CW9009 Version by <a href="http://cw9009.x10host.com">JDS</a>
+		&sdot;
+		Powered by<i class="fas fa-cog fa-spin fa-fw" aria-hidden="true"></i><a href="http://weewx.com/" target="_blank">WeeWX</a> 
+	    </div>
+    </div>
+   </footer>
+
+   #if $Extras.has_key('googleAnalyticsId')
+   <!-- Google Analytics -->
+   <script>
+	  (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+	  (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+	  m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+	  })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+	  
+		ga('create', '$Extras.googleAnalyticsId', 'auto');
+		ga('send', 'pageview');
+     </script>
+     #end if
+
+	<!-- Toggle between adding and removing the "responsive" class to topnav when the user clicks on the icon -->
+	<script>
+	function myFunction() {
+	    var x = document.getElementById("myTopnav");
+	    if (x.className === "topnav") {
+	        x.className += " responsive";
+	    } else {
+	        x.className = "topnav";
+	    }
+	}
+	</script>
+
+    </body>
+</html>
+

+ 104 - 83
index.html.tmpl

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html class="no-js">
+<html lang="en" class="no-js">
   <head itemscope itemtype="http://schema.org/Website">
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
@@ -48,25 +48,34 @@
     #else
     <meta itemprop="description" content="Current Weather Conditions in $station.location - weather web site powered by WeeWX" />
     #end if
-    <!-- Icons -->
+
+    <!-- FavIcons -->
     <link rel="icon" href="favicon.ico" type="image/png">
     <link rel="apple-touch-icon" href="touch-icon.png"/>
+        
     <!-- Styles -->
     <link href='http://fonts.googleapis.com/css?family=Lato:300,400,700' rel='stylesheet' type='text/css'>
-    <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
     <link rel="stylesheet" href="css/main.css">
-    <!-- Skripte -->
+
+    <!-- Font Awesome CDN links for 5.3-->
+    <!-- If you have a pro license -->
+    <link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-9ralMzdK1QYsk4yBY680hmsb4/hJ98xK3w0TIaJ3ll4POWpWUYaA2bRjGGujGT8w" crossorigin="anonymous">
+    <!-- Free license -->
+    <!-- <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous"> -->
+    
+    <!-- Script -->
     <script src="js/modernizr-2.6.2.min.js"></script>
     <script src="js/checkdiff.js"></script>
+
   </head>
   <body>
     <header>
       <div class="container-fix" >
         <div class="h-left" >
-          <h1><i class="fa fa-cloud" ></i> $station.location </h1>
-          <p>$station.latitude[0]&deg; $station.latitude[1]' $station.latitude[2] | $station.longitude[0]&deg; $station.longitude[1]' $station.longitude[2] | $station.altitude | <a href="https://www.google.com/maps/?q=$station.latitude[0]&deg;%20$station.latitude[1]%20$station.latitude[2],$station.longitude[0]&deg;%20$station.longitude[1]%20$station.longitude[2]" target="_blank" ><i class="fa fa-map-marker" ></i> Show on map</a></p>
+          <h1><i class="fas fa-cloud" ></i> $station.location </h1>
+          <p>$station.latitude[0]&deg; $station.latitude[1]' $station.latitude[2] | $station.longitude[0]&deg; $station.longitude[1]' $station.longitude[2] | $station.altitude | <a href="https://www.google.com/maps/?q=$station.latitude[0]&deg;%20$station.latitude[1]%20$station.latitude[2],$station.longitude[0]&deg;%20$station.longitude[1]%20$station.longitude[2]" target="_blank" ><i class="fas fa-map-marker-alt" ></i> Show on map</a></p>
           <h2>Current Weather Conditions</h2>
-          <p><i class="fa fa-clock-o" ></i> $current.dateTime $current.dateTime.format("%Z")</p>
+          <p><i class="far fa-clock" ></i> $current.dateTime $current.dateTime.format("%Z")</p>
           <p id="freshweather" class="m-orange"></p>
           <script>
             window.onload = checkDiff("$current.dateTime ($current.dateTime.format('%Z'))");
@@ -90,24 +99,18 @@
               <td><b>Server uptime:</b></td>
               <td>$station.os_uptime</td>
             </tr>
-            #if $Extras.has_key('cwop') and $Extras.has_key('crahs')
-            <tr>
-              <td><b>Station IDs:</b></td>
-              <td><a href="$Extras.cwop_url" target="_blank">$Extras.cwop</a> | <a href="$Extras.crahs_url" target="_blank">$Extras.crahs</a></td>
-            </tr>
-            #end if
           </table>
         </div>
         <nav>
           <ul class="topnav" id="myTopnav">
-            <li class="icon"><a href="javascript:void(0);" onclick="myFunction()"><i class="fa fa-bars" ></i></a></li>
+            <li class="icon"><a href="javascript:void(0);" onclick="myFunction()"><i class="fas fa-bars" ></i></a></li>
             <li class="active" ><a href="/" >Current</a></li>
             <li><a href="week.html" >Week</a></li>
             <li><a href="month.html" >Month</a></li>
             <li><a href="year.html" >Year</a></li>
             <li><a href="summary.html" >Summaries</a></li>
-            <li><a href="station.html" >Station</a></li>
-            <li><a href="RSS/weewx_rss.xml" ><i class="fa fa-rss" ></i></a></li>
+            <li><a href="about.html" >About</a></li>
+            <li><a href="RSS/weewx_rss.xml" ><i class="fas fa-rss" ></i></a></li>
           </ul>
         </nav>
       </div>
@@ -117,11 +120,11 @@
         <div class="left" >
           <div class="card" >
             #if $current.rainRate.raw == 0.0
-            <h1><i class="fa fa-sun-o m-orange" ></i> Current Conditions</h1>
+            <h1><i class="fas fa-sun m-orange" ></i> Current Conditions</h1>
             #else if $current.rainRate.raw >= 0.01
-            <h1><i class="fa fa-umbrella m-blau" ></i> Current Conditions</h1>
+            <h1><i class="fas fa-umbrella m-blau" ></i> Current Conditions</h1>
             #else
-            <h1><i class="fa fa-sun-o m-orange" ></i> Current Conditions</h1>
+            <h1><i class="fas fa-sun m-orange" ></i> Current Conditions</h1>
             #end if
             <table class="tablespacer">
               <tr>
@@ -178,14 +181,18 @@
                 <td>Rain Rate</td>
                 <td>$current.rainRate</td>
               </tr>
+	      #if $day.inTemp.has_data
               <tr>
                 <td>Inside Temperature</td>
                 <td>$current.inTemp</td>
               </tr>
+	      #end if
+	      #if $day.inHumidity.has_data
               <tr>
                 <td>Inside Humidity</td>
                 <td>$current.inHumidity</td>
               </tr>
+	      #end if
               #if $day.extraTemp1.has_data
               <tr>
                 <td>Pond Temperature</td>
@@ -194,11 +201,11 @@
               #end if
               #if $day.UV.has_data
               <tr>
-                <td>UV</td>
+                <td>UV Index</td>
                 <td>$current.UV</td>
               </tr>
               #end if
-              #if $day.ET.has_data and $day.ET.sum.raw > 0.0
+              #if $day.ET.has_data and $day.ET.sum.raw > 1
               <tr>
                 <td>ET</td>
                 <td>$current.ET</td>
@@ -210,10 +217,26 @@
                 <td>$current.radiation</td>
               </tr>
               #end if
+	      #if $day.lux.has_data
+              <tr>
+                <td>Brightness</td>
+                <td>$current.lux</td>
+              </tr>
+              #end if
+	      #if $day.lightningStrikes.has_data
+              <tr>
+                <td>Lightning Strikes</td>
+                <td>$current.lightningStrikes</td>
+              </tr>
+	      <tr>
+                <td>Average Strike Distance</td>
+                <td>$current.lightningAvgDistance</td>
+              </tr>
+              #end if
             </table>
           </div>
           <div class="card" >
-            <h1><i class="fa fa-moon-o m-grau" ></i> Since Midnight</h1>
+            <h1><i class="far fa-moon m-grau" ></i> Since Midnight</h1>
             <table class="tablespacer">
               <tr>
                 <td>High Temperature</td>
@@ -300,6 +323,7 @@
                 <td>$day.wind.vecdir</td>
                 <td></td>
               </tr>
+	      #if $day.inTemp.has_data
               <tr>
                 <td>High Inside Temperature</td>
                 <td>$day.inTemp.max</td>
@@ -310,6 +334,8 @@
                 <td>$day.inTemp.min</td>
                 <td>$day.inTemp.mintime</td>
               </tr>
+	      #end if
+	      #if $day.inHumidity.has_data
               <tr>
                 <td>High Inside Humidity</td>
                 <td>$day.inHumidity.max</td>
@@ -320,6 +346,7 @@
                 <td>$day.inHumidity.min</td>
                 <td>$day.inHumidity.mintime</td>
               </tr>
+	      #end if
               #if $day.extraTemp1.has_data
               <tr>
                 <td>High Pond Temp</td>
@@ -338,13 +365,8 @@
                 <td>$day.UV.max</td>
                 <td>$day.UV.maxtime</td>
               </tr>
-              <tr>
-                <td>Low UV</td>
-                <td>$day.UV.min</td>
-                <td>$day.UV.mintime</td>
-              </tr>
               #end if
-              #if $day.ET.has_data and $day.ET.sum.raw >0.0
+              #if $day.ET.has_data and $day.ET.sum.raw > 1
               <tr>
                 <td>High ET</td>
                 <td>$day.ET.max</td>
@@ -362,15 +384,29 @@
                 <td>$day.radiation.max</td>
                 <td>$day.radiation.maxtime</td>
               </tr>
+              #end if
+	      #if $day.lux.has_data
+              <tr>
+                <td>High Brightness</td>
+                <td>$day.lux.max</td>
+                <td>$day.lux.maxtime</td>
+              </tr>
+              #end if
+	      #if $day.lightningStrikes.has_data
               <tr>
-                <td>Low Radiation</td>
-                <td>$day.radiation.min</td>
-                <td>$day.radiation.mintime</td>
+                <td>Lightning Strikes</td>
+                <td>$day.lightningStrikes.sum</td>
+                <td></td>
+              </tr>
+	       <tr>
+                <td>Average Strike Distance</td>
+                <td>$day.lightningAvgDistance.avg</td>
+		<td></td>
               </tr>
               #end if
             </table>
           </div>
-          <div class="card" >
+          
             <!--Leap Year Code -->
             #set $yr = int($day.dateTime.format("%Y"))%4
             #if $yr == 0
@@ -409,7 +445,9 @@
                 #set $n = 365
               #end if
             #end if
-            <h1><i class="fa fa-history" ></i> Last $days_ago($days_ago=$n).dateTime.format("%d-%b (%Y)") </h1>
+	  #if $days_ago($days_ago=$n).outTemp.max.string != "   N/A"
+	  <div class="card" >
+            <h1><i class="fas fa-history" ></i> Last $days_ago($days_ago=$n).dateTime.format("%d-%b (%Y)") </h1>
             <table class="tablespacer">
               <tr>
                 <td>High Temperature</td>
@@ -463,9 +501,10 @@
               </tr>
               <tr>
                 <td>High Wind</td>
-                <td>$days_ago($days_ago=$n).wind.max $days_ago($days_ago=$n).wind.gustdir</td>
+                <td>$days_ago($days_ago=$n).wind.max <br> $days_ago($days_ago=$n).wind.gustdir</td>
                 <td>$days_ago($days_ago=$n).wind.maxtime</td>
               </tr>
+	      #if $days_ago($days_ago=$n).inTemp.has_data
               <tr>
                 <td>High Inside Temperature</td>
                 <td>$days_ago($days_ago=$n).inTemp.max</td>
@@ -476,6 +515,8 @@
                 <td>$days_ago($days_ago=$n).inTemp.min</td>
                 <td>$days_ago($days_ago=$n).inTemp.mintime</td>
               </tr>
+	      #end if
+	      #if $days_ago($days_ago=$n).inHumidity.has_data
               <tr>
                 <td>High Inside Humidity</td>
                 <td>$days_ago($days_ago=$n).inHumidity.max</td>
@@ -486,7 +527,8 @@
                 <td>$days_ago($days_ago=$n).inHumidity.min</td>
                 <td>$days_ago($days_ago=$n).inHumidity.mintime</td>
               </tr>
-              #if $day.extraTemp1.has_data
+	      #end if
+              #if $days_ago($days_ago=$n).extraTemp1.has_data
               <tr>
                 <td>High Pond Temp</td>
                 <td>$days_ago($days_ago=$n).extraTemp1.max</td>
@@ -504,13 +546,8 @@
                 <td>$days_ago($days_ago=$n).UV.max</td>
                 <td>$days_ago($days_ago=$n).UV.maxtime</td>
               </tr>
-              <tr>
-                <td>Low UV</td>
-                <td>$days_ago($days_ago=$n).UV.min</td>
-                <td>$days_ago($days_ago=$n).UV.mintime</td>
-              </tr>
               #end if
-              #if $days_ago($days_ago=$n).ET.has_data and $days_ago($days_ago=$n).ET.sum.raw >0.0
+              #if $days_ago($days_ago=$n).ET.has_data and $days_ago($days_ago=$n).ET.sum.raw >1
               <tr>
                 <td>High ET</td>
                 <td>$days_ago($days_ago=$n).ET.max</td>
@@ -528,49 +565,25 @@
                 <td>$days_ago($days_ago=$n).radiation.max</td>
                 <td>$days_ago($days_ago=$n).radiation.maxtime</td>
               </tr>
+              #end if
+	      #if $days_ago($days_ago=$n).lux.has_data
               <tr>
-                <td>Low Radiation</td>
-                <td>$days_ago($days_ago=$n).radiation.min</td>
-                <td>$days_ago($days_ago=$n).radiation.mintime</td>
+                <td>High Brightness</td>
+                <td>$days_ago($days_ago=$n).lux.max</td>
+                <td>$days_ago($days_ago=$n).lux.maxtime</td>
               </tr>
               #end if
             </table>
           </div>
-          #if $Extras.has_key('radar_img')
+	  #end if
+          #if $Extras.has_key('radar')
           <div class="card" >
-            #if $Extras.has_key('radar_url')
-            <a href="$Extras.radar_url" target="_blank">
-            #end if
-            <img src="$Extras.radar_img" alt="Radar" id="radar" class="space small" />
-            #if $Extras.has_key('radar_url')
-            </a>
-            #end if
-            <h3>
-              #if $Extras.has_key('radar_gif')
-              <a id="btn1" class="cpointer" >Image / Animation</a>
-              <script>    
-                function changeRadar() {
-                    if(document.getElementById("radar").src == "$Extras.radar_img") {
-                        document.getElementById("radar").src = "$Extras.radar_gif";
-                    } else {
-                        document.getElementById("radar").src = "$Extras.radar_img";
-                    }
-                }
-                
-                var el = document.getElementById('btn1');
-                el.onclick = changeRadar;
-              </script>
-              #end if
-              #if $Extras.has_key('radar_url_alt')
-                #if $Extras.has_key('radar_url_alt_text')
-                  | <a href="$Extras.radar_url_alt" target="_blank" >$Extras.radar_url_alt_text</a>
-                #else 
-                  | <a href="$Extras.radar_url_alt" target="_blank" >Second Radar</a>
-                #end if
-              #end if
-            </h3>
+	    <h1><i class="fab fa-react m-rot"></i> Radar</h1>
+            $Extras.radar
+	    <br>
           </div>
           #end if
+
           #if $Extras.has_key('lightning_map')
           <div class="card" >
             #if $Extras.has_key('lightning_url')
@@ -582,10 +595,11 @@
             #end if
           </div>
           #end if
+
           #if $Extras.has_key('camera')
           <!--camera section-->
           <div class="card" >
-            <h1><i class="fa fa-camera" style="color:#999"></i> Local Cameras</h1>
+            <h1><i class="fas fa-camera-alt" style="color:#999"></i> Local Cameras</h1>
             <div class="s-center s-content s-display-container" style="max-width:800px">
               #set $b=0
               #for $i in $Extras.camera
@@ -637,7 +651,7 @@
         </div>
         <div class="right" >
           <div class="card" >
-            <h1><i class="fa fa-star-o m-rot" ></i> Almanac</h1>
+            <h1><i class="far fa-star m-rot" ></i> Almanac</h1>
             #if $almanac.hasExtras
             ## Extended almanac information is available. Do the full set of tables.
             #set $sun_altitude = $almanac.sun.alt
@@ -783,15 +797,16 @@
             #end if
           </div>
           <div class="card cc graphs" >
-            <h1><i class="fa fa-line-chart m-gruen" ></i> Graphs</h1>
+            <h1><i class="far fa-chart-line m-gruen" ></i> Graphs</h1>
             <img src="daytempdew.png" alt="temperatures" />
             <img src="dayrain.png" alt="rain" />
             <img src="daywind.png" alt="wind" />
             <img src="daywinddir.png" alt="Hi Wind" />
             <img src="daywindvec.png" alt="Wind Vector" />
-            <img src="daytempchill.png" alt="heatchill" />
             <img src="daybarometer.png" alt="barometer"/>
+	    #if $day.inTemp.has_data
             <img src="dayinside.png" alt="Inside" />
+	    #end if
             <img src="dayinhumid.png" alt="Inside/Outside Humidity" />
             #if $day.radiation.has_data
             <img src="dayradiation.png" alt="Radiation" />
@@ -802,6 +817,12 @@
             #if $day.rxCheckPercent.has_data
             <img src="dayrx.png" alt="day rx percent"/>
             #end if
+	    #if $day.lightningStrikes.has_data
+            <img src="daylightning.png" alt="Lightning" />
+	    #end if
+	    #if $day.windBatteryStatus.has_data and $day.outTempBatteryStatus.has_data
+            <img src="daybattery.png" alt="day battery"/>
+            #end if
             #if $day.extraTemp1.has_data
             <img src="daypond.png" alt="Pond Temperatures" />
             #end if
@@ -813,16 +834,16 @@
       <div class="container-fix">
         <div style="text-align:center">
           #if $Extras.has_key('you')
-          <i class="fa fa-pied-piper-pp"> </i><a href=mailto:$Extras.email> $Extras.you</a> 
+          <i class="fab fa-pied-piper-pp"> </i><a href=mailto:$Extras.email> $Extras.you</a> 
           #end if
           &sdot;
-          Copyright <i class="fa fa-copyright"></i> $latest.dateTime.format("%Y") 
+          Copyright <i class="far fa-copyright"></i> $latest.dateTime.format("%Y") 
           <br>
           Sofaskin by <a href="http://blauesledersofa.de">Blaues Ledersofa</a>
           &sdot;
           CW9009 Version by <a href="http://cw9009.x10host.com">JDS</a>
           &sdot;
-          Powered by<i class="fa fa-cog fa-spin fa-fw" aria-hidden="true"></i><a href="http://weewx.com/" target="_blank">WeeWX</a> 
+          Powered by<i class="fas fa-cog fa-spin fa-fw" aria-hidden="true"></i><a href="http://weewx.com/" target="_blank">WeeWX</a> 
         </div>
       </div>
     </footer>

+ 73 - 48
month.html.tmpl

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html class="no-js">
+<html lang="en" class="no-js">
   <head itemscope itemtype="http://schema.org/Website">
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
@@ -23,25 +23,33 @@
     #end if
     <meta property="og:description" content="Monthly Weather Summary for $station.location - weather web site powered by WeeWX" />
     <meta property="og:type" content="website" />
-    <!-- Icons -->
+    <!-- FavIcons -->
     <link rel="icon" href="favicon.ico" type="image/png">
     <link rel="apple-touch-icon" href="touch-icon.png"/>
+        
     <!-- Styles -->
     <link href='http://fonts.googleapis.com/css?family=Lato:300,400,700' rel='stylesheet' type='text/css'>
-    <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
     <link rel="stylesheet" href="css/main.css">
-    <!-- Skripte -->
+
+    <!-- Font Awesome CDN links for 5.3--> 
+    <!-- If you have a pro license -->
+    <link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-9ralMzdK1QYsk4yBY680hmsb4/hJ98xK3w0TIaJ3ll4POWpWUYaA2bRjGGujGT8w" crossorigin="anonymous">
+    <!-- Free license -->
+    <!-- <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous"> --!>
+
+    <!-- Script -->
     <script src="js/modernizr-2.6.2.min.js"></script>
     <script src="js/checkdiff.js"></script>
+
   </head>
   <body>
     <header>
       <div class="container-fix" >
         <div class="h-left" >
-          <h1><i class="fa fa-cloud" ></i> $station.location </h1>
-          <p>$station.latitude[0]&deg; $station.latitude[1]' $station.latitude[2] | $station.longitude[0]&deg; $station.longitude[1]' $station.longitude[2] | $station.altitude | <a href="https://www.google.com/maps/?q=$station.latitude[0]&deg;%20$station.latitude[1]%20$station.latitude[2],$station.longitude[0]&deg;%20$station.longitude[1]%20$station.longitude[2]" target="_blank" ><i class="fa fa-map-marker" ></i> Show on map</a></p>
+          <h1><i class="fas fa-cloud" ></i> $station.location </h1>
+          <p>$station.latitude[0]&deg; $station.latitude[1]' $station.latitude[2] | $station.longitude[0]&deg; $station.longitude[1]' $station.longitude[2] | $station.altitude | <a href="https://www.google.com/maps/?q=$station.latitude[0]&deg;%20$station.latitude[1]%20$station.latitude[2],$station.longitude[0]&deg;%20$station.longitude[1]%20$station.longitude[2]" target="_blank" ><i class="fas fa-map-marker-alt" ></i> Show on map</a></p>
           <h2>Monthly Weather Summary</h2>
-          <p><i class="fa fa-clock-o" ></i> $current.dateTime $current.dateTime.format("%Z")</p>
+          <p><i class="far fa-clock" ></i> $current.dateTime $current.dateTime.format("%Z")</p>
           <p id="freshweather" class="m-orange"></p>
           <script>
             window.onload = checkDiff("$current.dateTime ($current.dateTime.format('%Z'))");
@@ -65,24 +73,18 @@
               <td><b>Server uptime:</b></td>
               <td>$station.os_uptime</td>
             </tr>
-            #if $Extras.has_key('cwop') and $Extras.has_key('crahs')
-            <tr>
-              <td><b>Station IDs:</b></td>
-              <td><a href="$Extras.cwop_url" target="_blank">$Extras.cwop</a> | <a href="$Extras.crahs_url" target="_blank">$Extras.crahs</a></td>
-            </tr>
-            #end if
           </table>
         </div>
         <nav>
           <ul class="topnav" id="myTopnav">
-            <li class="icon"><a href="javascript:void(0);" onclick="myFunction()"><i class="fa fa-bars" ></i></a></li>
+            <li class="icon"><a href="javascript:void(0);" onclick="myFunction()"><i class="fas fa-bars" ></i></a></li>
             <li><a href="/" >Current</a></li>
             <li><a href="week.html" >Week</a></li>
             <li class="active"><a href="month.html" >Month</a></li>
             <li><a href="year.html" >Year</a></li>
             <li><a href="summary.html" >Summaries</a></li>
-            <li><a href="station.html" >Station</a></li>
-            <li><a href="RSS/weewx_rss.xml" ><i class="fa fa-rss" ></i></a></li>
+            <li><a href="about.html" >About</a></li>
+            <li><a href="RSS/weewx_rss.xml" ><i class="fas fa-rss" ></i></a></li>
           </ul>
         </nav>
       </div>
@@ -91,7 +93,7 @@
       <div class="container" >
         <div class="left" >
           <div class="card" >
-            <h1><i class="fa fa-calendar m-orange" ></i> This Month</h1>
+            <h1><i class="far fa-calendar-alt m-orange" ></i> This Month</h1>
             <table class="tablespacer">
               <tr>
                 <td>High Temperature</td>
@@ -178,6 +180,7 @@
                 <td>$month.wind.vecdir</td>
                 <td></td>
               </tr>
+	      #if $month.inTemp.has_data
               <tr>
                 <td>High Inside Temperature</td>
                 <td>$month.inTemp.max</td>
@@ -188,6 +191,7 @@
                 <td>$month.inTemp.min</td>
                 <td>$month.inTemp.mintime</td>
               </tr>
+	      #end if
               #if $month.extraTemp1.has_data
               <tr>
                 <td>High Pond Temp</td>
@@ -202,17 +206,12 @@
               #end if
               #if $month.UV.has_data
               <tr>
-                <td>High UV</td>
+                <td>High UV Index</td>
                 <td>$month.UV.max</td>
                 <td>$month.UV.maxtime</td>
               </tr>
-              <tr>
-                <td>Low UV</td>
-                <td>$month.UV.min</td>
-                <td>$month.UV.mintime</td>
-              </tr>
               #end if
-              #if $month.ET.has_data and $month.ET.sum.raw >0.0
+              #if $month.ET.has_data and $month.ET.sum.raw >1
               <tr>
                 <td>High ET</td>
                 <td>$month.ET.max</td>
@@ -230,16 +229,31 @@
                 <td>$month.radiation.max</td>
                 <td>$month.radiation.maxtime</td>
               </tr>
+              #end if
+	      #if $month.lux.has_data
               <tr>
-                <td>Low Radiation</td>
-                <td>$month.radiation.min</td>
-                <td>$month.radiation.mintime</td>
+                <td>High Brightness</td>
+                <td>$month.lux.max</td>
+		<td>$month.lux.maxtime</td>
+              </tr>
+              #end if
+	      #if $month.lightningStrikes.has_data
+	      <tr>
+                <td>Max Lightning Day</td>
+                <td>$month.lightningStrikes.max</td>
+		<td>$month.lightningStrikes.maxtime</td>
+              </tr>
+              <tr>
+                <td>Lightning Total</td>
+                <td>$month.lightningStrikes.sum</td>
+		<td></td>
               </tr>
               #end if
             </table>
           </div>
+	 #if $month($months_ago=12).outTemp.max.string != "   N/A"
           <div class="card" >
-            <h1><i class="fa fa-calendar m-orange" ></i> Last $month($months_ago=12).dateTime.format("%B %Y")</h1>
+            <h1><i class="far fa-calendar-alt m-orange" ></i> Last $month($months_ago=12).dateTime.format("%B %Y")</h1>
             <table class="tablespacer">
               <tr>
                 <td>High Temperature</td>
@@ -326,6 +340,7 @@
                 <td>$month($months_ago=12).wind.vecdir</td>
                 <td></td>
               </tr>
+	      #if $month($months_ago=12).inTemp.has_data
               <tr>
                 <td>High Inside Temperature</td>
                 <td>$month($months_ago=12).inTemp.max</td>
@@ -336,6 +351,7 @@
                 <td>$month($months_ago=12).inTemp.min</td>
                 <td>$month($months_ago=12).inTemp.mintime</td>
               </tr>
+	      #end if
               #if $month($months_ago=12).extraTemp1.has_data
               <tr>
                 <td>High Pond Temp</td>
@@ -350,27 +366,17 @@
               #end if
               #if $month($months_ago=12).UV.has_data
               <tr>
-                <td>High UV</td>
+                <td>High UV Index</td>
                 <td>$month($months_ago=12).UV.max</td>
                 <td>$month($months_ago=12).UV.maxtime</td>
               </tr>
-              <tr>
-                <td>Low UV</td>
-                <td>$month($months_ago=12).UV.min</td>
-                <td>$month($months_ago=12).UV.mintime</td>
-              </tr>
               #end if
-              #if $month($months_ago=12).ET.has_data and $month.ET.sum.raw >0.0
+              #if $month($months_ago=12).ET.has_data and $month($months_ago=12).ET.sum.raw >1
               <tr>
                 <td>High ET</td>
                 <td>$month($months_ago=12).ET.max</td>
                 <td>$month($months_ago=12).ET.maxtime</td>
               </tr>
-              <tr>
-                <td>Low ET</td>
-                <td>$month($months_ago=12).ET.min</td>
-                <td>$month($months_ago=12).ET.mintime</td>
-              </tr>
               #end if
               #if $month($months_ago=12).radiation.has_data
               <tr>
@@ -378,26 +384,42 @@
                 <td>$month($months_ago=12).radiation.max</td>
                 <td>$month($months_ago=12).radiation.maxtime</td>
               </tr>
+              #end if
+	      #if $month($months_ago=12).lux.has_data
+              <tr>
+                <td>High Brightness</td>
+                <td>$month($months_ago=12).lux.max</td>
+		<td>$month($months_ago=12).lux.maxtime</td>
+              </tr>
+              #end if
+	      #if $month($months_ago=12).lightningStrikes.has_data
+	      <tr>
+                <td>Max Lightning Day</td>
+                <td>$month($months_ago=12).lightningStrikes.max</td>
+		<td>$month($months_ago=12).lightningStrikes.maxtime</td>
+              </tr>
               <tr>
-                <td>Low Radiation</td>
-                <td>$month($months_ago=12).radiation.min</td>
-                <td>$month($months_ago=12).radiation.mintime</td>
+                <td>Lightning Total</td>
+                <td>$month($months_ago=12).lightningStrikes.sum</td>
+		<td></td>
               </tr>
               #end if
             </table>
           </div>
+	  #end if
         </div>
         <div class="right" >
           <div class="card cc graphs" >
-            <h1><i class="fa fa-line-chart m-gruen" ></i> Monthly Statistics and Plots</h1>
+            <h1><i class="far fa-chart-line m-gruen" ></i> Monthly Statistics and Plots</h1>
             <img src="monthtempdew.png" alt="temperatures" />
             <img src="monthrain.png" alt="rain" />
             <img src="monthwind.png" alt="wind" />
             <img src="monthwinddir.png" alt="Hi Wind" />
             <img src="monthwindvec.png" alt="Wind Vector" />
-            <img src="monthtempchill.png" alt="heatchill" />
             <img src="monthbarometer.png" alt="barometer"/>
+	    #if $month.inTemp.has_data
             <img src="monthinside.png" alt="Inside" />
+	    #end if
             <img src="monthinhumid.png" alt="Inside/Outside Humidity" />
             #if $month.UV.has_data
             <img src="monthuv.png" alt="UV Index" />
@@ -405,6 +427,9 @@
             #if $month.radiation.has_data
             <img src="monthradiation.png" alt="Radiation" />
             #end if
+	    #if $month.lightningStrikes.has_data
+            <img src="monthlightning.png" alt="Lightning" />
+            #end if
             #if $month.rxCheckPercent.has_data
             <img src="monthrx.png" alt="month rx percent"/>
             #end if
@@ -419,16 +444,16 @@
       <div class="container-fix">
         <div style="text-align:center">
           #if $Extras.has_key('you')
-          <i class="fa fa-pied-piper-pp"> </i><a href=mailto:$Extras.email> $Extras.you</a> 
+          <i class="fab fa-pied-piper-pp"> </i><a href=mailto:$Extras.email> $Extras.you</a> 
           #end if
           &sdot;
-          Copyright <i class="fa fa-copyright"></i> $latest.dateTime.format("%Y") 
+          Copyright <i class="far fa-copyright"></i> $latest.dateTime.format("%Y") 
           <br>
           Sofaskin by <a href="http://blauesledersofa.de">Blaues Ledersofa</a>
           &sdot;
           CW9009 Version by <a href="http://cw9009.x10host.com">JDS</a>
           &sdot;
-          Powered by<i class="fa fa-cog fa-spin fa-fw" aria-hidden="true"></i><a href="http://weewx.com/" target="_blank">WeeWX</a> 
+          Powered by<i class="fas fa-cog fa-spin fa-fw" aria-hidden="true"></i><a href="http://weewx.com/" target="_blank">WeeWX</a> 
         </div>
       </div>
     </footer>

+ 137 - 95
skin.conf

@@ -9,51 +9,47 @@
     # Template Extras
  
     # Website URL
-    # web_url = 
+    web_url = http://cw9009.x10host.com
 
-    # Current radar image
-    #radar_img = 
-    # Current radar animation (starts on radar_img hover)
-    #radar_gif = 
-    # Hyperlink for radar
-    #radar_url = 
+    # radar
+    radar = '<iframe width="100%" height="300" src="https://embed.windy.com/embed2.html?lat=43.555&lon=-116.348&zoom=9&level=surface&overlay=radar&menu=&message=&marker=&calendar=&pressure=&type=map&location=coordinates&detail=&detailLat=43.555&detailLon=-116.348&metricWind=default&metricTemp=default&radarRange=-1"></iframe>'
 
     # Lightning map and hyperlink
     #lightning_map = http://images.lightningmaps.org/blitzortung/america/index.php?map=usa&period=0.25
     #lightning_url = http://www.lightningmaps.org/realtime 
 
-    # URL for another radar (for example full Europe, Frankfurt center)
-    #radar_url_alt = 
-    #radar_url_alt_text = 
-
     # You. Only shows up in footer
-    #you = "Your Name"
-    #emailname = "Email"
-    #email = ""
+    you = "JDS"
+    emailname = "Josh@cw9009.x10host.com"
+    email = "Josh@cw9009.x10host.com"
     
     # Camera link
     # camera and cameratitle are arrays of the camera links and camera names. 
-    #cameratitle = "Linder - McMillan", "Ten Mile - McMillan", "Chinden - Linder", "Chinden - Long Lake", "Chinden - Ten Mile"
-    #camera = http://www.achdidaho.org/ATIS/CCTV/CCTV_677.jpg, http://www.achdidaho.org/ATIS/CCTV/CCTV_664.jpg, http://www.achdidaho.org/ATIS/CCTV/CCTV_583.jpg, http://www.achdidaho.org/ATIS/CCTV/CCTV_662.jpg, http://www.achdidaho.org/ATIS/CCTV/CCTV_667.jpg  
+    cameratitle = "Hwy 69 - Amity", "Victory - Five Mile", "Reflection Ridge", "Bridgeview South"
+    camera = http://www.achdidaho.org/ATIS/CCTV/CCTV_588.jpg, http://www.achdidaho.org/ATIS/CCTV/CCTV_649.jpg, https://icons.wunderground.com/webcamramdisk/l/a/lakearrowheadnw/3/current.jpg?1535944393, https://icons.wunderground.com/webcamramdisk/m/i/miralem77/4/current.jpg?1536106630  
     
     # Google Analytics ID
-    #googleAnalyticsId = 
+    googleAnalyticsId = UA-88526004-1
 
     #CWOP
-    #cwop = 
-    #cwop_url = 
+    cwop = CW9009
+    cwop_url = http://www.findu.com/cgi-bin/wxpage.cgi?call=CW9009&last=24
+
+    #weatherflow
+    wf = 4952
+    wf_url = https://smartweather.weatherflow.com/share/4952/grid
 
     #mesowest
-    #mwest = 
-    #mwest_url = 
+    mwest = C9009
+    mwest_url = https://mesowest.utah.edu/cgi-bin/droman/meso_base_dyn.cgi?stn=C9009&unit=0&timetype=LOCAL
 
     #weather underground
-    #wunderground = 
-    #wu_url = 
+    wunderground = KIDMERID85
+    wu_url = https://www.wunderground.com/personal-weather-station/dashboard?ID=KIDMERID85#history
 
     #CoCoRaHS
-    #crahs = 
-    #crahs_url = 
+    crahs = ID-AD-45
+    crahs_url = https://www.cocorahs.org/ViewData/CountyDailyPrecipReports.aspx?state=ID&county=AD
     
 ###############################################################################################
 
@@ -68,7 +64,9 @@
         group_altitude     = foot                # Options are 'foot' or 'meter'
         group_degree_day   = degree_F_day         # Options are 'degree_F_day' or 'degree_C_day'
         group_direction    = degree_compass
-        group_moisture     = centibar
+        group_light	   = lx
+        group_lightning    = ltg_strike
+	group_moisture     = centibar
         group_percent      = percent
         group_pressure     = mbar                  # Options are 'inHg', 'mmHg', 'mbar', or 'hPa'
         group_radiation    = watt_per_meter_squared
@@ -104,6 +102,7 @@
         km_per_hour2       = %.1f
         knot               = %.0f
         knot2              = %.1f
+	ltg_strike         = %.0f
         mbar               = %.0f
         meter              = %.0f
         meter_per_second   = %.1f
@@ -137,6 +136,7 @@
         km_per_hour2      = " km/h"
         knot              = " knots"
         knot2             = " knots"
+        ltg_strike        = ""
         mbar              = " mbar"
         meter             = " meter"
         meter_per_second  = " m/s"
@@ -203,13 +203,16 @@
         heatindex      = Heat Index
         inHumidity     = Inside Humidity
         inTemp         = Inside Temperature
+	lux	       = Brightness
         outHumidity    = Outside Humidity
         outTemp        = Outside Temperature
+        outTempBatteryStatus = Air Battery
         radiation      = Radiation
         rain           = Rain
         rainRate       = Rain Rate
         rxCheckPercent = ISS Signal Quality
         UV             = UV Index
+        windBatteryStatus = Sky Battery
         windDir        = Wind Direction
         windGust       = Gust Speed
         windGustDir    = Gust Direction
@@ -220,6 +223,9 @@
     
         # This one is probably specific to my station!
         extraTemp1     = Pond Temperature
+	lightningStrikes	       = Lightning Strikes
+	lightningAvgDistance	       = Avg Lightning Distance
+	lightningDistance	       = Lightning Distance
 
 ###############################################################################
 
@@ -272,9 +278,9 @@
         # Pages that do not require time interval specific tags
         #
 
-	[[[station]]]
+	[[[about]]]
 	    # Station information
-            template = station.html.tmpl
+            template = about.html.tmpl
 
 	[[[summary]]]
 	    # Station Summaries and all time station records
@@ -357,7 +363,7 @@
     [[rain_count]]
         obs_type = rain
         aggregate_type = sum_ge
-        aggregate_threshold = 0.02, inch
+        aggregate_threshold = 0.01, inch
 	minvalues = 0, 2, 4, 8, 12, 20   # Override default temperature colour scheme with rain specific scale
         maxvalues = 2, 4, 8, 12, 20, 32
 	colours = "#E0F8E0", "#A9F5A9", "#58FA58", "#2EFE2E", "#41E741", "#01DF01"
@@ -370,6 +376,13 @@
         maxvalues = 1, 2, 3, 4, 5, 10
 	colours = "#E0F8E0", "#A9F5A9", "#58FA58", "#2EFE2E", "#41E741", "#01DF01"
 
+    #total monthly lightning
+    [[lightning_sum]]
+        obs_type = lightningStrikes
+        aggregate_type = sum
+	colours =   "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF", "#FFFFFF"
+    
+
     [[NOAA]]
         #
         # Creates a table of links to NOAA reports with the tag $NOAA_table
@@ -415,29 +428,29 @@
     chart_gridline_color = 0xdbdbdb
     
     top_label_font_path = /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf
-    top_label_font_size = 16
+    top_label_font_size = 18
     
     unit_label_font_path = /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf
-    unit_label_font_size = 12
+    unit_label_font_size = 16
     unit_label_font_color = 0x000000
     
     bottom_label_font_path = /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf
-    bottom_label_font_size = 12
+    bottom_label_font_size = 16
     bottom_label_font_color = 0x000000
     
     axis_label_font_path = /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf
-    axis_label_font_size = 12
+    axis_label_font_size = 16
     axis_label_font_color = 0x000000
     
     # Options for the compass rose, used for progressive vector plots
     rose_label = N
     rose_label_font_path = /usr/share/fonts/truetype/droid/DroidSans-Bold.ttf
-    rose_label_font_size  = 12
+    rose_label_font_size  = 16
     rose_label_font_color = 0x000000
 
     # Default colors for the plot lines. These can be overridden for
     # individual lines using option 'color'
-    chart_line_colors = 0xb48242, 0x4242b4, 0x42b442
+    chart_line_colors = 0xb48242, 0x4242b4, 0x42b442, Orange
     
 	# Type of line. Only 'solid' or 'none' is offered now    
     line_type = 'solid'
@@ -514,6 +527,8 @@
         [[[daytempdew]]]
             [[[[outTemp]]]]
             [[[[dewpoint]]]]
+	    [[[[windchill]]]]
+            [[[[heatindex]]]]
         
         [[[dayrain]]]
             # Make sure the y-axis increment is at least 0.02 for the rain plot
@@ -559,23 +574,37 @@
             [[[[windvec]]]]
                 plot_type = vector
 
-	[[[daytempchill]]]
-            [[[[windchill]]]]
-            [[[[heatindex]]]]
+	#[[[daytempchill]]]
+        #    [[[[windchill]]]]
+        #    [[[[heatindex]]]]
 	
 	[[[dayinside]]]
             [[[[inTemp]]]]
 
 	[[[dayinhumid]]]
-            [[[[inHumidity]]]]
+        #    [[[[inHumidity]]]]
 	    [[[[outHumidity]]]]
 
-        #[[[dayradiation]]]
-        #    [[[[radiation]]]]
+        [[[dayradiation]]]
+            [[[[radiation]]]]
 
-        #[[[dayuv]]]
-        #    yscale = 0, 16, 1
-        #    [[[[UV]]]]
+        [[[dayuv]]]
+            yscale = 0, 10, 1
+            [[[[UV]]]]
+	
+	# lightning plot
+	[[[daylightning]]]
+            plot_type = bar
+	    yscale = None, None, 5
+            [[[[lightningStrikes]]]]
+                aggregate_type = sum
+                aggregate_interval = 3600
+                label = Lightning (Hourly Total)
+
+        [[[daybattery]]]
+	    yscale = None, None, 0.01
+            [[[[windBatteryStatus]]]]
+            [[[[outTempBatteryStatus]]]]
             
     [[week_images]]
         x_label_format = %d
@@ -590,6 +619,8 @@
         [[[weektempdew]]]
             [[[[outTemp]]]]
             [[[[dewpoint]]]]
+	    [[[[windchill]]]]
+            [[[[heatindex]]]]
         
         [[[weekrain]]]
             yscale = None, None, 0.02
@@ -634,23 +665,35 @@
             [[[[windvec]]]]
                 plot_type = vector
 
-	[[[weektempchill]]]
-            [[[[windchill]]]]
-            [[[[heatindex]]]]
+	#[[[weektempchill]]]
+        #    [[[[windchill]]]]
+        #    [[[[heatindex]]]]
 
-        [[[weekinside]]]
-            [[[[inTemp]]]]
+        #[[[weekinside]]]
+        #    [[[[inTemp]]]]
 
 	[[[weekinhumid]]]
-            [[[[inHumidity]]]]
+         #   [[[[inHumidity]]]]
 	    [[[[outHumidity]]]]
 
-        #[[[weekradiation]]]
-        #    [[[[radiation]]]]
+        [[[weekradiation]]]
+            [[[[radiation]]]]
+
+        [[[weekuv]]]
+            yscale = 0, 10, 1
+            [[[[UV]]]]
+
+	[[[weeklightning]]]
+            yscale = None, None, 5
+            plot_type = bar
+            [[[[lightningStrikes]]]]
+                aggregate_type = sum
+                aggregate_interval = 86400
+                label = Lightning (Daily Total)
 
-        #[[[weekuv]]]
-        #    yscale = 0, 16, 1
-        #    [[[[UV]]]]
+	[[[weekbattery]]]
+            [[[[windBatteryStatus]]]]
+            [[[[outTempBatteryStatus]]]]
 
     [[month_images]]
         x_label_format = %d
@@ -674,13 +717,6 @@
                 aggregate_type = sum
                 aggregate_interval = 86400
                 label = Rain (Daily Total)
-	   #[[[[linerain]]]]
-		#plot_type = line
-		#data_type = rain
-	    	#aggregate_type = sum
-                #aggregate_interval = 2592000
-                #label = Rain (Total)
-
 
 	#[[[monthouthumid]]]
         #    [[[[outHumidity]]]]
@@ -720,23 +756,31 @@
             [[[[windvec]]]]
                 plot_type = vector
 
-	[[[monthtempchill]]]
-            [[[[windchill]]]]
-            [[[[heatindex]]]]
+	#[[[monthtempchill]]]
+        #    [[[[windchill]]]]
+        #    [[[[heatindex]]]]
 
-	[[[monthinside]]]
-            [[[[inTemp]]]]
+	#[[[monthinside]]]
+        #    [[[[inTemp]]]]
 
 	[[[monthinhumid]]]
-            [[[[inHumidity]]]]
+        #    [[[[inHumidity]]]]
 	    [[[[outHumidity]]]]
 
-        #[[[monthradiation]]]
-        #    [[[[radiation]]]]
+        [[[monthradiation]]]
+            [[[[radiation]]]]
             
-        #[[[monthuv]]]
-        #    yscale = 0, 16, 1
-        #    [[[[UV]]]]
+        [[[monthuv]]]
+            yscale = 0, 10, 1
+            [[[[UV]]]]
+
+	[[[monthlightning]]]
+            yscale = None, None, 10
+            plot_type = bar
+            [[[[lightningStrikes]]]]
+                aggregate_type = sum
+                aggregate_interval = 86400
+                label = Lightning (Daily Total)
 
     [[year_images]]
         x_label_format = %m/%d
@@ -788,17 +832,6 @@
                 aggregate_interval = 604800    # == 1 week
                 label = Rain (Weekly Total)
 
-	##year totals
-	#[[[yearrainyear1]]]
-        #    yscale = None, None, 0.02
-        #    plot_type = bar
-        #    [[[[rain]]]]
-        #        aggregate_type = sum
-	#	time_length = 315360000    # == 10 years
-       #         # aggregate_interval = 2629800 # Magic number: the length of a nominal month
-       #         aggregate_interval = 31536000    # == 1 year
-        #        label = Rain (Yearly Total)
-
 	#[[[yearouthumid]]]
         #    [[[[outHumidity]]]]
 
@@ -821,23 +854,32 @@
             [[[[windvec]]]]
                 plot_type = vector
 
-	[[[yeartempchill]]]
-            [[[[windchill]]]]
-            [[[[heatindex]]]]
+	#[[[yeartempchill]]]
+        #    [[[[windchill]]]]
+        #    [[[[heatindex]]]]
 
-	[[[yearinside]]]
-            [[[[inTemp]]]]
+	#[[[yearinside]]]
+        #    [[[[inTemp]]]]
 
 	[[[yearinhumid]]]
-            [[[[inHumidity]]]]
+        #    [[[[inHumidity]]]]
 	    [[[[outHumidity]]]]
 
-        #[[[yearradiation]]]
-        #    [[[[radiation]]]]
+        [[[yearradiation]]]
+            [[[[radiation]]]]
             
-        #[[[yearuv]]]
-        #    yscale = 0, 16, 1
-        #    [[[[UV]]]]
+        [[[yearuv]]]
+            yscale = 0, 10, 1
+            [[[[UV]]]]
+
+	[[[yearlightning]]]
+            yscale = None, None, 10
+            plot_type = bar
+            [[[[lightningStrikes]]]]
+                aggregate_type = sum
+                # aggregate_interval = 2629800 # Magic number: the length of a nominal month
+                aggregate_interval = 604800    # == 1 week
+                label = Lightning (Weekly Total)
 
 ###############################################################################
 

+ 232 - 287
summary.html.tmpl

@@ -2,299 +2,244 @@
 <html lang="en">
   <head itemscope itemtype="http://schema.org/Website">
     <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta http-equiv="Refresh" Content="180">
-    #if $Extras.has_key('cwop')
-    <meta name="description" content="$station.location Weather Station ($Extras.cwop) - weather web site powered by WeeWX">
-    #else
-    <meta name="description" content="$station.location Weather Station - weather web site powered by WeeWX">
-    #end if
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <link rel="profile" href="http://gmpg.org/xfn/11" />
-    #if $Extras.has_key('web_url')
-    <link href="$Extras.web_url/summary.html" itemprop="url"/>
-    #end if
-    <title itemprop="name">$station.location Weather Summaries</title>
-    <!-- Open Graph -->
-    <meta property="og:site_name" content="$station.location Summaries and Records" />
-    <meta property="og:title" content="Summaries and Records"/>
-    #if $Extras.has_key('web_url')
-    <meta property="og:url" content="$Extras.web_url/summary.html"/>
-    #end if
-    <meta property="og:description" content="Summaries and Records for $station.location - weather web site powered by WeeWX" />
-    <meta property="og:type" content="website" />
-    <!-- Icons -->
-    <link rel="icon" href="favicon.ico" type="image/png">
-    <link rel="apple-touch-icon" href="touch-icon.png"/>
-    <!-- Styles -->
-    <link href='http://fonts.googleapis.com/css?family=Lato:300,400,700' rel='stylesheet' type='text/css'>
-    <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
-    <link rel="stylesheet" href="css/main.css">
-    <!-- Skripte -->
-    <script src="js/modernizr-2.6.2.min.js"></script>
-    <script src="js/checkdiff.js"></script>
+        <meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<meta http-equiv="Refresh" Content="180">
+	#if $Extras.has_key('cwop')
+        <meta name="description" content="$station.location Weather Station ($Extras.cwop) - weather web site powered by WeeWX">
+        #else
+        <meta name="description" content="$station.location Weather Station - weather web site powered by WeeWX">
+	#end if
+        <meta name="viewport" content="width=device-width, initial-scale=1">
+        <link rel="profile" href="http://gmpg.org/xfn/11" />
+	#if $Extras.has_key('web_url')
+	<link href="$Extras.web_url/summary.html" itemprop="url"/>
+	#end if
+        
+	<title itemprop="name">$station.location Weather Summaries</title>
+        
+        <!-- Open Graph -->
+	<meta property="og:site_name" content="$station.location Summaries and Records" />
+	<meta property="og:title" content="Summaries and Records"/>
+	#if $Extras.has_key('web_url')
+	<meta property="og:url" content="$Extras.web_url/summary.html"/>
+	#end if
+	<meta property="og:description" content="Summaries and Records for $station.location - weather web site powered by WeeWX" />
+	<meta property="og:type" content="website" /> 
+
+        <!-- FavIcons -->
+        <link rel="icon" href="favicon.ico" type="image/png">
+	<link rel="apple-touch-icon" href="touch-icon.png"/>
+        
+        <!-- Styles -->
+        <link href='http://fonts.googleapis.com/css?family=Lato:300,400,700' rel='stylesheet' type='text/css'>
+        <link rel="stylesheet" href="css/main.css">
+
+	<!-- Font Awesome CDN links for 5.3-->
+	<!-- If you have a pro license --!>
+	<link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-9ralMzdK1QYsk4yBY680hmsb4/hJ98xK3w0TIaJ3ll4POWpWUYaA2bRjGGujGT8w" crossorigin="anonymous">
+	<!-- Free license --!>
+        <!-- <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous"> --!>
+
+        <!-- Script -->
+        <script src="js/modernizr-2.6.2.min.js"></script>
+	<script src="js/checkdiff.js"></script>
+        
   </head>
+
   <body>
     <!-- Menu navbar -->
     <header>
-      <div class="container-fix" >
-        <div class="h-left" >
-          <h1><i class="fa fa-cloud" ></i> $station.location </h1>
-          <p>$station.latitude[0]&deg; $station.latitude[1]' $station.latitude[2] | $station.longitude[0]&deg; $station.longitude[1]' $station.longitude[2] | $station.altitude | <a href="https://www.google.com/maps/?q=$station.latitude[0]&deg;%20$station.latitude[1]%20$station.latitude[2],$station.longitude[0]&deg;%20$station.longitude[1]%20$station.longitude[2]" target="_blank" ><i class="fa fa-map-marker" ></i> Show on map</a></p>
-          <h2>Summaries and Records</h2>
-          <p><i class="fa fa-clock-o" ></i> $current.dateTime $current.dateTime.format("%Z")</p>
-          <p id="freshweather" class="m-orange"></p>
-          <script>
-            window.onload = checkDiff("$current.dateTime ($current.dateTime.format('%Z'))");
-          </script>
-        </div>
-        <div class="h-right" >
-          <table>
-            <tr>
-              <td><b>Station:</b></td>
-              <td>$station.hardware</td>
-            </tr>
-            <tr>
-              <td><b>Software:</b></td>
-              <td><a href="http://weewx.com/" target="_blank" >WeeWX v$station.version</a></td>
-            </tr>
-            <tr>
-              <td><b>Weewx uptime:</b></td>
-              <td>$station.uptime</td>
-            </tr>
-            <tr>
-              <td><b>Server uptime:</b></td>
-              <td>$station.os_uptime</td>
-            </tr>
-            #if $Extras.has_key('cwop') and $Extras.has_key('crahs')
-            <tr>
-              <td><b>Station IDs:</b></td>
-              <td><a href="$Extras.cwop_url" target="_blank">$Extras.cwop</a> | <a href="$Extras.crahs_url" target="_blank">$Extras.crahs</a></td>
-            </tr>
-            #end if
-          </table>
-        </div>
-        <nav>
-          <ul class="topnav" id="myTopnav">
-            <li class="icon"><a href="javascript:void(0);" onclick="myFunction()"><i class="fa fa-bars" ></i></a></li>
-            <li><a href="/" >Current</a></li>
-            <li><a href="week.html" >Week</a></li>
-            <li><a href="month.html" >Month</a></li>
-            <li><a href="year.html" >Year</a></li>
-            <li class="active" ><a href="summary.html" >Summaries</a></li>
-            <li><a href="station.html" >Station</a></li>
-            <li><a href="RSS/weewx_rss.xml" ><i class="fa fa-rss" ></i></a></li>
-          </ul>
-        </nav>
-      </div>
-    </header>
-    <!-- Main container -->
-    <div class="main" >
-      <div class="container" >
-        <div class="left" >
-          <div class="card" >
-            <h1><i class="fa fa-bolt m-orange" ></i> All Time Records (Since Nov. 2007)</h1>
-            <table class="tablespacer">
-              <tr>
-                <td colspan="3"><b>Outside Temperatures</b></td>
-              </tr>
-              <tr>
-                <td>Highest</td>
-                <td>$alltime.outTemp.max</td>
-                <td>$alltime.outTemp.maxtime</td>
-              </tr>
-              <tr>
-                <td>Lowest</td>
-                <td>$alltime.outTemp.min</td>
-                <td>$alltime.outTemp.mintime</td>
-              </tr>
-              <tr>
-                <td>Min Max</td>
-                <td>$alltime.outTemp.minmax</td>
-                <td>$alltime.outTemp.minmaxtime</td>
-              </tr>
-              <tr>
-                <td>Max Min</td>
-                <td>$alltime.outTemp.maxmin</td>
-                <td>$alltime.outTemp.maxmintime</td>
-              </tr>
-              <tr>
-                <td colspan="3"><br><b>Dewpoint</b></td>
-              </tr>
-              <tr>
-                <td>Highest</td>
-                <td>$alltime.dewpoint.max</td>
-                <td>$alltime.dewpoint.maxtime</td>
-              </tr>
-              <tr>
-                <td>Lowest</td>
-                <td>$alltime.dewpoint.min</td>
-                <td>$alltime.dewpoint.mintime</td>
-              </tr>
-              <tr>
-                <td colspan="3"><br><b>Precipitation</b></td>
-              </tr>
-              <tr>
-                <td>Highest Daily Rainfall</td>
-                <td>$alltime.rain.maxsum</td>
-                <td>$alltime.rain.maxsumtime.format("%m/%d/%Y")</td>
-              </tr>
-              <tr>
-                <td>Highest Rain Rate</td>
-                <td>$alltime.rainRate.max</td>
-                <td>$alltime.rainRate.maxtime</td>
-              </tr>
-              <tr>
-                <td colspan="3"><br><b>Heat Index</b></td>
-              </tr>
-              <tr>
-                <td>Highest</td>
-                <td>$alltime.heatindex.max</td>
-                <td>$alltime.heatindex.maxtime</td>
-              </tr>
-              <tr>
-                <td colspan="3"><br><b>Barometer</b></td>
-              </tr>
-              <tr>
-                <td>Highest</td>
-                <td>$alltime.barometer.max</td>
-                <td>$alltime.barometer.maxtime</td>
-              </tr>
-              <tr>
-                <td>Lowest</td>
-                <td>$alltime.barometer.min</td>
-                <td>$alltime.barometer.mintime</td>
-              </tr>
-              <tr>
-                <td colspan="3"><br><b>Wind</b></td>
-              </tr>
-              <tr>
-                <td>Highest Sustained</td>
-                <td>$alltime.windSpeed.max</td>
-                <td>$alltime.windSpeed.maxtime</td>
-              </tr>
-              <tr>
-                <td>Highest Gust</td>
-                <td>$alltime.windGust.max</td>
-                <td>$alltime.windGust.maxtime</td>
-              </tr>
-              <tr>
-                <td colspan="3"><br><b>Wind Chill</b></td>
-              </tr>
-              <tr>
-                <td>Lowest</td>
-                <td>$alltime.windchill.min</td>
-                <td>$alltime.windchill.mintime</td>
-              </tr>
-              <tr>
-                <td colspan="3"><br><b>House Temperatures</b></td>
-              </tr>
-              <tr>
-                <td>Highest</td>
-                <td>$alltime.inTemp.max</td>
-                <td>$alltime.inTemp.maxtime</td>
-              </tr>
-              <tr>
-                <td>Lowest</td>
-                <td>$alltime.inTemp.min</td>
-                <td>$alltime.inTemp.mintime</td>
-              </tr>
-              <tr>
-                <td colspan="3"><br><b>House Humidity</b></td>
-              </tr>
-              <tr>
-                <td>Highest</td>
-                <td>$alltime.inHumidity.max</td>
-                <td>$alltime.inHumidity.maxtime</td>
-              </tr>
-              <tr>
-                <td>Lowest</td>
-                <td>$alltime.inHumidity.min</td>
-                <td>$alltime.inHumidity.mintime</td>
-              </tr>
-            </table>
-          </div>
-          <div class="card">
-            <h1><i class="fa fa-table m-grau" ></i> Number of Days with Observations</h1>
-            <div class="tablefix">
-              $temp_count_table
-            </div>
-          </div>
-        </div>
-        <div class="right" >
-          <div class="card">
-            <h1><i class="fa fa-archive"></i> Monthly Reports</h1>
-            <div class="noaatable">
-              $NOAA_table
-            </div>
-          </div>
-          <div class="card">
-            <h1><i class="fa fa-thermometer-half" ></i> Average Temperature by Month</h1>
-            <div class="tablefix">
-              $avg_temp_table
-            </div>
-          </div>
-          <div class="card">
-            <h1><i class="fa fa-umbrella m-blau" ></i> Total Monthly Rainfall </h1>
-            <div class="tablefix">
-              $rain_table
-            </div>
-          </div>
-          <div class="card">
-            <h1><i class="fa fa-umbrella m-blau" ></i> Number of Days it Rained (>=0.02")</h1>
-            <div class="tablefix">
-              $rain_count_table
-            </div>
-          </div>
-          <div class="card">
-            <h1><i class="fa fa-thermometer-half m-rot" ></i> Average House Temperature by Month</h1>
-            <div class="tablefix">
-              $avg_htemp_table
+            <div class="container-fix" >
+                <div class="h-left" >
+                <h1><i class="fas fa-cloud" ></i> $station.location </h1>
+                <p>$station.latitude[0]&deg; $station.latitude[1]' $station.latitude[2] | $station.longitude[0]&deg; $station.longitude[1]' $station.longitude[2] | $station.altitude | <a href="https://www.google.com/maps/?q=$station.latitude[0]&deg;%20$station.latitude[1]%20$station.latitude[2],$station.longitude[0]&deg;%20$station.longitude[1]%20$station.longitude[2]" target="_blank" ><i class="fas fa-map-marker-alt" ></i> Show on map</a></p>
+                <h2>Summaries and Records</h2>
+                <p><i class="far fa-clock" ></i> $current.dateTime $current.dateTime.format("%Z")</p>
+		<p id="freshweather" class="m-orange"></p>
+		<script>
+                      window.onload = checkDiff("$current.dateTime ($current.dateTime.format('%Z'))");
+                </script>
+                </div>
+                
+                <div class="h-right" >
+                    <table>
+                        <tr><td><b>Station:</b></td><td>$station.hardware</td></tr>
+                        <tr><td><b>Software:</b></td><td><a href="http://weewx.com/" target="_blank" >WeeWX v$station.version</a></td></tr>
+                        <tr><td><b>Weewx uptime:</b></td><td>$station.uptime</td></tr>
+                        <tr><td><b>Server uptime:</b></td><td>$station.os_uptime</td></tr>
+                    </table>
+                </div>
+
+                <nav>
+                    <ul class="topnav" id="myTopnav">
+			<li class="icon"><a href="javascript:void(0);" onclick="myFunction()"><i class="fas fa-bars" ></i></a></li>
+                        <li><a href="/" >Current</a></li>
+                        <li><a href="week.html" >Week</a></li>
+                        <li><a href="month.html" >Month</a></li>
+                        <li><a href="year.html" >Year</a></li>
+			<li class="active" ><a href="summary.html" >Summaries</a></li>
+			<li><a href="about.html" >About</a></li>
+                        <li><a href="RSS/weewx_rss.xml" ><i class="fas fa-rss" ></i></a></li>
+                    </ul>
+                </nav>
             </div>
-          </div>
+     </header>
+    <!-- Main container -->  
+     <div class="main" >
+        <div class="container" >
+	    <div class="left" >
+
+		<div class="card" >
+                    <h1><i class="fas fa-bolt m-orange" ></i> All Time Records (Since Sept. 2018)</h1>
+                    <table class="tablespacer">
+			<tr><td colspan="3"><b>Outside Temperatures</b></td></tr>
+			<tr><td>Highest</td><td>$alltime.outTemp.max</td><td>$alltime.outTemp.maxtime</td></tr>
+			<tr><td>Lowest</td><td>$alltime.outTemp.min</td><td>$alltime.outTemp.mintime</td></tr>
+		    	<tr><td>Min Max</td><td>$alltime.outTemp.minmax</td><td>$alltime.outTemp.minmaxtime</td></tr>
+			<tr><td>Max Min</td><td>$alltime.outTemp.maxmin</td><td>$alltime.outTemp.maxmintime</td></tr>
+			<tr><td colspan="3"><br><b>Dewpoint</b></td></tr>
+			<tr><td>Highest</td><td>$alltime.dewpoint.max</td><td>$alltime.dewpoint.maxtime</td></tr>
+			<tr><td>Lowest</td><td>$alltime.dewpoint.min</td><td>$alltime.dewpoint.mintime</td></tr>
+			<tr><td colspan="3"><br><b>Precipitation</b></td></tr>
+			<tr><td>Highest Daily Rainfall</td><td>$alltime.rain.maxsum</td><td>$alltime.rain.maxsumtime.format("%m/%d/%Y")</td></tr>
+			<tr><td>Highest Rain Rate</td><td>$alltime.rainRate.max</td><td>$alltime.rainRate.maxtime</td></tr>
+			<tr><td colspan="3"><br><b>Heat Index</b></td></tr>
+			<tr><td>Highest</td><td>$alltime.heatindex.max</td><td>$alltime.heatindex.maxtime</td></tr>
+			<tr><td colspan="3"><br><b>Barometer</b></td></tr>
+			<tr><td>Highest</td><td>$alltime.barometer.max</td><td>$alltime.barometer.maxtime</td></tr>
+			<tr><td>Lowest</td><td>$alltime.barometer.min</td><td>$alltime.barometer.mintime</td></tr>
+			<tr><td colspan="3"><br><b>Wind</b></td></tr>
+			<tr><td>Highest Sustained</td><td>$alltime.windSpeed.max</td><td>$alltime.windSpeed.maxtime</td></tr>
+			<tr><td>Highest Gust</td><td>$alltime.windGust.max</td><td>$alltime.windGust.maxtime</td></tr>
+			<tr><td colspan="3"><br><b>Wind Chill</b></td></tr>
+			<tr><td>Lowest</td><td>$alltime.windchill.min</td><td>$alltime.windchill.mintime</td></tr>
+			#if $alltime.radiation.has_data
+			<tr><td colspan="3"><br><b>Solar Radiation</b></td></tr>
+			<tr><td>Highest</td><td>$alltime.radiation.max</td><td>$alltime.radiation.maxtime</td></tr>
+			#end if
+			#if $alltime.lux.has_data
+			<tr><td colspan="3"><br><b>Brightness</b></td></tr>
+			<tr><td>Highest</td><td>$alltime.lux.max</td><td>$alltime.lux.maxtime</td></tr>
+			#end if
+			#if $alltime.lightningStrikes.has_data
+			<tr><td colspan="3"><br><b>Lightning</b></td></tr>
+			<tr><td>Highest</td><td>$alltime.lightningStrikes.max</td><td>$alltime.lightningStrikes.maxtime</td></tr>
+			#end if
+			#if $alltime.inTemp.has_data
+			<tr><td colspan="3"><br><b>House Temperatures</b></td></tr>
+			<tr><td>Highest</td><td>$alltime.inTemp.max</td><td>$alltime.inTemp.maxtime</td></tr>
+			<tr><td>Lowest</td><td>$alltime.inTemp.min</td><td>$alltime.inTemp.mintime</td></tr>
+			#end if
+			#if $alltime.inHumidity.has_data
+			<tr><td colspan="3"><br><b>House Humidity</b></td></tr>
+			<tr><td>Highest</td><td>$alltime.inHumidity.max</td><td>$alltime.inHumidity.maxtime</td></tr>
+			<tr><td>Lowest</td><td>$alltime.inHumidity.min</td><td>$alltime.inHumidity.mintime</td></tr>
+			#end if
+                    </table>
+                </div>
+
+	   </div>
+
+	   <div class="right" >
+		<div class="card">
+                    <h1><i class="fas fa-archive"></i> Monthly Reports</h1>
+			<div class="noaatable">
+                   	$NOAA_table
+			</div>
+                </div>
+
+		<div class="card">
+                    <h1><i class="far fa-thermometer-half" ></i> Average Monthly Temperature</h1>
+			<div class="tablefix">
+                    	$avg_temp_table
+			</div>
+                </div>
+		
+		<div class="card">
+                    <h1><i class="fas fa-umbrella m-blau" ></i> Total Monthly Rainfall </h1>
+			<div class="tablefix">
+                    	$rain_table
+			</div>
+                </div>
+
+		<div class="card">
+                    <h1><i class="fas fa-umbrella m-blau" ></i> Number of Days it Rained </h1>
+			<div class="tablefix">
+                    	$rain_count_table
+			</div>
+                </div>
+
+		#if $month.inTemp.has_data
+		<div class="card">
+                    <h1><i class="fas fa-thermometer-half m-rot" ></i> Average House Temperature by Month</h1>
+			<div class="tablefix">
+                    	$avg_htemp_table
+			</div>
+                </div>
+		#end if
+
+		#if $month.lightningStrikes.has_data
+		<div class="card">
+                    <h1><i class="fas fa-bolt m-orange" ></i> Total Lightning Strikes </h1>
+			<div class="tablefix">
+                    	$lightning_sum_table
+			</div>
+                </div>
+		#end if
+
+		<div class="card">
+                    <h1><i class="fas fa-table m-grau" ></i> Number of Days with Observations</h1>
+			<div class="tablefix">
+                    	$temp_count_table
+			</div>
+                </div>
+
+	   </div>
         </div>
-      </div>
-    </div>
-    <footer>
-      <div class="container-fix">
-        <div style="text-align:center">
-          #if $Extras.has_key('you')
-          <i class="fa fa-pied-piper-pp"> </i><a href=mailto:$Extras.email> $Extras.you</a> 
-          #end if
-          &sdot;
-          Copyright <i class="fa fa-copyright"></i> $latest.dateTime.format("%Y") 
-          <br>
-          Sofaskin by <a href="http://blauesledersofa.de">Blaues Ledersofa</a>
-          &sdot;
-          CW9009 Version by <a href="http://cw9009.x10host.com">JDS</a>
-          &sdot;
-          Powered by<i class="fa fa-cog fa-spin fa-fw" aria-hidden="true"></i><a href="http://weewx.com/" target="_blank">WeeWX</a> 
         </div>
-      </div>
-    </footer>
-    #if $Extras.has_key('googleAnalyticsId')
-    <!-- Google Analytics -->
-    <script>
-      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-      
-      ga('create', '$Extras.googleAnalyticsId', 'auto');
-      ga('send', 'pageview');
-    </script>
-    #end if
-    <!-- Toggle between adding and removing the "responsive" class to topnav when the user clicks on the icon -->
-    <script>
-      function myFunction() {
-          var x = document.getElementById("myTopnav");
-          if (x.className === "topnav") {
-              x.className += " responsive";
-          } else {
-              x.className = "topnav";
-          }
-      }
-    </script>
-  </body>
+        
+        <footer>
+            <div class="container-fix">
+	      <div style="text-align:center">
+          	#if $Extras.has_key('you')
+          	<i class="fab fa-pied-piper-pp"> </i><a href=mailto:$Extras.email> $Extras.you</a> 
+          	#end if
+          	&sdot;
+          	Copyright <i class="far fa-copyright"></i> $latest.dateTime.format("%Y") 
+          	<br>
+          	Sofaskin by <a href="http://blauesledersofa.de">Blaues Ledersofa</a>
+          	&sdot;
+          	CW9009 Version by <a href="http://cw9009.x10host.com">JDS</a>
+          	&sdot;
+          	Powered by<i class="fas fa-cog fa-spin fa-fw" aria-hidden="true"></i><a href="http://weewx.com/" target="_blank">WeeWX</a> 
+              </div>
+	    </div>
+        </footer>
+
+        #if $Extras.has_key('googleAnalyticsId')
+        <!-- Google Analytics -->
+        <script>
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+            
+            ga('create', '$Extras.googleAnalyticsId', 'auto');
+            ga('send', 'pageview');
+        </script>
+        #end if
+
+	<!-- Toggle between adding and removing the "responsive" class to topnav when the user clicks on the icon -->
+	<script>
+		function myFunction() {
+    			var x = document.getElementById("myTopnav");
+    			if (x.className === "topnav") {
+    			    x.className += " responsive";
+    			} else {
+    			    x.className = "topnav";
+    			}
+		}	
+	</script>
+    </body>
 </html>
 

+ 164 - 171
text.php.tmpl

@@ -1,182 +1,175 @@
 <!DOCTYPE html>
 <html lang="en">
   <head itemscope itemtype="http://schema.org/Website">
-    <?php
-      //Gets file name from url
-      
-      if(empty(\$_REQUEST["report"])) { 
-           //if empty then grab the latest years report
-           \$year = date("Y");
-           \$report = "NOAA/NOAA-".\$year.".txt";
-        } else {  
-           \$report = filter_var(\$_REQUEST["report"],FILTER_SANITIZE_URL);
-      }
-      
-      //Get labels for meta and page titles
-      \$labels = preg_split("/[\s-.]/", \$report);
-      \$count = count(\$labels);
-      
-      if (\$count == 3){
-        \$title = \$labels[1];
-      }
-      
-      if (\$count == 4){
-        \$title = date("F Y", mktime(0, 0, 0, \$labels[2], 1, \$labels[1]));
-      }
-      ?>
-    <meta charset="utf-8">
-    <meta http-equiv="X-UA-Compatible" content="IE=edge">
-    <meta http-equiv="Refresh" content="180">
-    #if $Extras.has_key('cwop')
-    <meta name="description" content="$station.location Weather Station ($Extras.cwop) - weather web site powered by WeeWX">
-    #else
-    <meta name="description" content="$station.location Weather Station - weather web site powered by WeeWX">
-    #end if
-    <meta name="viewport" content="width=device-width, initial-scale=1">
-    <link rel="profile" href="http://gmpg.org/xfn/11" />
-    #if $Extras.has_key('web_url')
-    <link rel="canonical" href="$Extras.web_url/summary.html"/>
-    #end if
-    #if $Extras.has_key('cwop')
-    <?php
-      echo"<title>$station.location ($Extras.cwop) Climate Summary for \$title </title>";
-    ?>
-    #else
-    <?php
-      echo"<title>$station.location Climate Summary for \$title </title>";
-    ?>
-    #end if
-    <!-- Open Graph -->
-    <meta property="og:site_name" content="$station.location Summaries and Records" />
-    <meta property="og:title" content="Climate Summaries"/>
-    #if $Extras.has_key('web_url')
-    <meta property="og:url" content="$Extras.web_url/summary.html"/>
-    #end if
-    <meta property="og:description" content="Climate Summaries for $station.location - weather web site powered by WeeWX" />
-    <meta property="og:type" content="website" />
-    <!-- Icons -->
-    <link rel="icon" href="favicon.ico" type="image/png">
-    <link rel="apple-touch-icon" href="touch-icon.png"/>
-    <!-- Styles -->
-    <link href='http://fonts.googleapis.com/css?family=Lato:300,400,700' rel='stylesheet' type='text/css'>
-    <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
-    <link rel="stylesheet" href="css/main.css">
-    <!-- Script -->
-    <script src="js/modernizr-2.6.2.min.js"></script>
-    <script src="js/checkdiff.js"></script>
+
+<?php
+//Gets file name from url
+
+if(empty(\$_REQUEST["report"])) { 
+     //if empty then grab the latest years report
+     \$year = date("Y");
+     \$report = "NOAA/NOAA-".\$year.".txt";
+  } else {  
+     \$report = filter_var(\$_REQUEST["report"],FILTER_SANITIZE_URL);
+}
+
+//Get labels for meta and page titles
+\$labels = split("[-.]", \$report);
+\$count = count(\$labels);
+
+if (\$count == 3){
+	\$title = \$labels[1];
+}
+
+if (\$count == 4){
+	\$title = date("F Y", mktime(0, 0, 0, \$labels[2], 1, \$labels[1]));
+}
+?>
+
+    	<meta charset="utf-8">
+        <meta http-equiv="X-UA-Compatible" content="IE=edge">
+	<meta http-equiv="Refresh" content="180">
+	#if $Extras.has_key('cwop')
+        <meta name="description" content="$station.location Weather Station ($Extras.cwop) - weather web site powered by WeeWX">
+        #else
+        <meta name="description" content="$station.location Weather Station - weather web site powered by WeeWX">
+	#end if
+        <meta name="viewport" content="width=device-width, initial-scale=1">
+        <link rel="profile" href="http://gmpg.org/xfn/11" />
+	#if $Extras.has_key('web_url')
+	<link rel="canonical" href="$Extras.web_url/summary.html"/>
+	#end if   
+<?php        
+        echo"<title>$station.location ($Extras.cwop) Climate Summary for \$title </title>";
+?>
+        <!-- Open Graph -->
+        <meta property="og:site_name" content="$station.location Summaries and Records" />
+	<meta property="og:title" content="Climate Summaries"/>
+	#if $Extras.has_key('web_url')
+	<meta property="og:url" content="$Extras.web_url/summary.html"/>
+	#end if
+        <meta property="og:description" content="Climate Summaries for $station.location - weather web site powered by WeeWX" />
+	<meta property="og:type" content="website" />
+
+        <!-- FavIcons -->
+        <link rel="icon" href="favicon.ico" type="image/png">
+	<link rel="apple-touch-icon" href="touch-icon.png"/>
+        
+        <!-- Styles -->
+        <link href='http://fonts.googleapis.com/css?family=Lato:300,400,700' rel='stylesheet' type='text/css'>
+        <link rel="stylesheet" href="css/main.css">
+
+	<!-- Font Awesome CDN links for 5.3-->
+	<!-- If you have a pro license --!>
+	<link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-9ralMzdK1QYsk4yBY680hmsb4/hJ98xK3w0TIaJ3ll4POWpWUYaA2bRjGGujGT8w" crossorigin="anonymous">
+	<!-- Free license --!>
+        <!-- <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous"> --!>
+   
+        <!-- Skripte -->
+        <script src="js/modernizr-2.6.2.min.js"></script>
+	<script src="js/checkdiff.js"></script>
+        
   </head>
+
   <body>
     <!-- Menu navbar -->
     <header>
-      <div class="container-fix" >
-        <div class="h-left" >
-          <h1><i class="fa fa-cloud" ></i> $station.location </h1>
-          <p>$station.latitude[0]&deg; $station.latitude[1]' $station.latitude[2] | $station.longitude[0]&deg; $station.longitude[1]' $station.longitude[2] | $station.altitude | <a href="https://www.google.com/maps/?q=$station.latitude[0]&deg;%20$station.latitude[1]%20$station.latitude[2],$station.longitude[0]&deg;%20$station.longitude[1]%20$station.longitude[2]" target="_blank" ><i class="fa fa-map-marker" ></i> Show on map</a></p>
-          <?php
-            echo "<h2>Climate Summary \$title</h2>";
-            ?>
-          <p><i class="fa fa-clock-o" ></i> $current.dateTime $current.dateTime.format("%Z")</p>
-          <p id="freshweather" class="m-orange"></p>
-          <script>
-            window.onload = checkDiff("$current.dateTime ($current.dateTime.format('%Z'))");
-          </script>
-        </div>
-        <div class="h-right" >
-          <table>
-            <tr>
-              <td><b>Station:</b></td>
-              <td>$station.hardware</td>
-            </tr>
-            <tr>
-              <td><b>Software:</b></td>
-              <td><a href="http://weewx.com/" target="_blank" >WeeWX v$station.version</a></td>
-            </tr>
-            <tr>
-              <td><b>Weewx uptime:</b></td>
-              <td>$station.uptime</td>
-            </tr>
-            <tr>
-              <td><b>Server uptime:</b></td>
-              <td>$station.os_uptime</td>
-            </tr>
-            #if $Extras.has_key('cwop') and $Extras.has_key('crahs')
-            <tr>
-              <td><b>Station IDs:</b></td>
-              <td><a href="$Extras.cwop_url" target="_blank">$Extras.cwop</a> | <a href="$Extras.crahs_url" target="_blank">$Extras.crahs</a></td>
-            </tr>
-            #end if
-          </table>
-        </div>
-        <nav>
-          <ul class="topnav" id="myTopnav">
-            <li class="icon"><a href="javascript:void(0);" onclick="myFunction()"><i class="fa fa-bars" ></i></a></li>
-            <li><a href="/" >Current</a></li>
-            <li><a href="week.html" >Week</a></li>
-            <li><a href="month.html" >Month</a></li>
-            <li><a href="year.html" >Year</a></li>
-            <li class="active" ><a href="summary.html" >Summaries</a></li>
-            <li><a href="station.html" >Station</a></li>
-            <li><a href="RSS/weewx_rss.xml" ><i class="fa fa-rss" ></i></a></li>
-          </ul>
-        </nav>
-      </div>
-    </header>
-    <!-- Main container -->
-    <div class="main" >
-      <div class="container" >
-        <div class="center" >
-          <div class="card">
-            <?php
-              if(file_exists(\$report)){
-              echo "<pre class=\"noaareport\">";
-              			echo file_get_contents(\$report);
-              echo "</pre>";
-              }
-              ?>  
-          </div>
+            <div class="container-fix" >
+                <div class="h-left" >
+                <h1><i class="fas fa-cloud" ></i> $station.location </h1>
+                <p>$station.latitude[0]&deg; $station.latitude[1]' $station.latitude[2] | $station.longitude[0]&deg; $station.longitude[1]' $station.longitude[2] | $station.altitude | <a href="https://www.google.com/maps/?q=$station.latitude[0]&deg;%20$station.latitude[1]%20$station.latitude[2],$station.longitude[0]&deg;%20$station.longitude[1]%20$station.longitude[2]" target="_blank" ><i class="fas fa-map-marker-alt" ></i> Show on map</a></p>
+<?php
+          echo "<h2>Climate Summary \$title</h2>";
+?>
+                <p><i class="far fa-clock" ></i> $current.dateTime $current.dateTime.format("%Z")</p>
+		<p id="freshweather" class="m-orange"></p>
+		<script>
+                      window.onload = checkDiff("$current.dateTime ($current.dateTime.format('%Z'))");
+                </script>
+                </div>
+                
+                <div class="h-right" >
+                    <table>
+                        <tr><td><b>Station:</b></td><td>$station.hardware</td></tr>
+                        <tr><td><b>Software:</b></td><td><a href="http://weewx.com/" target="_blank" >WeeWX v$station.version</a></td></tr>
+                        <tr><td><b>Weewx uptime:</b></td><td>$station.uptime</td></tr>
+                        <tr><td><b>Server uptime:</b></td><td>$station.os_uptime</td></tr>
+                    </table>
+                </div>
+
+                <nav>
+                    <ul class="topnav" id="myTopnav">
+			<li class="icon"><a href="javascript:void(0);" onclick="myFunction()"><i class="fas fa-bars" ></i></a></li>
+                        <li><a href="/" >Current</a></li>
+                        <li><a href="week.html" >Week</a></li>
+                        <li><a href="month.html" >Month</a></li>
+                        <li><a href="year.html" >Year</a></li>
+			<li class="active" ><a href="summary.html" >Summaries</a></li>
+			<li><a href="about.html" >About</a></li>
+                        <li><a href="RSS/weewx_rss.xml" ><i class="fas fa-rss" ></i></a></li>
+                    </ul>
+                </nav>
+            </div>
+     </header>
+    <!-- Main container -->  
+     <div class="main" >
+        <div class="container" >
+	   <div class="center" >
+	       <div class="card">
+		
+<?php
+
+    		if(file_exists(\$report)){
+			echo "<pre class=\"noaareport\">";
+      			echo file_get_contents(\$report);
+			echo "</pre>";
+    		}
+?>  
+               </div>
+	   </div>   
         </div>
-      </div>
     </div>
-    <footer>
-      <div class="container-fix">
-        <div style="text-align:center">
-          #if $Extras.has_key('you')
-          <i class="fa fa-pied-piper-pp"> </i><a href=mailto:$Extras.email> $Extras.you</a> 
-          #end if
-          &sdot;
-          Copyright <i class="fa fa-copyright"></i> $latest.dateTime.format("%Y") 
-          <br>
-          Sofaskin by <a href="http://blauesledersofa.de">Blaues Ledersofa</a>
-          &sdot;
-          CW9009 Version by <a href="http://cw9009.x10host.com">JDS</a>
-          &sdot;
-          Powered by<i class="fa fa-cog fa-spin fa-fw" aria-hidden="true"></i><a href="http://weewx.com/" target="_blank">WeeWX</a> 
-        </div>
-      </div>
-    </footer>
-    #if $Extras.has_key('googleAnalyticsId')
-    <!-- Google Analytics -->
-    <script>
-      (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
-      (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
-      m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
-      })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
-      
-      ga('create', '$Extras.googleAnalyticsId', 'auto');
-      ga('send', 'pageview');
-    </script>
-    #end if
-    <!-- Toggle between adding and removing the "responsive" class to topnav when the user clicks on the icon -->
-    <script>
-      function myFunction() {
-          var x = document.getElementById("myTopnav");
-          if (x.className === "topnav") {
-              x.className += " responsive";
-          } else {
-              x.className = "topnav";
-          }
-      }
-    </script>
-  </body>
+        
+        <footer>
+	    <div style="text-align:center">
+          	#if $Extras.has_key('you')
+          	<i class="fab fa-pied-piper-pp"> </i><a href=mailto:$Extras.email> $Extras.you</a> 
+          	#end if
+          	&sdot;
+          	Copyright <i class="far fa-copyright"></i> $latest.dateTime.format("%Y") 
+          	<br>
+          	Sofaskin by <a href="http://blauesledersofa.de">Blaues Ledersofa</a>
+          	&sdot;
+          	CW9009 Version by <a href="http://cw9009.x10host.com">JDS</a>
+          	&sdot;
+          	Powered by<i class="fas fa-cog fa-spin fa-fw" aria-hidden="true"></i><a href="http://weewx.com/" target="_blank">WeeWX</a> 
+            </div>
+        </footer>
+
+        #if $Extras.has_key('googleAnalyticsId')
+        <!-- Google Analytics -->
+        <script>
+            (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
+            (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
+            m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
+            })(window,document,'script','//www.google-analytics.com/analytics.js','ga');
+            
+            ga('create', '$Extras.googleAnalyticsId', 'auto');
+            ga('send', 'pageview');
+        </script>
+        #end if
+
+<!-- Toggle between adding and removing the "responsive" class to topnav when the user clicks on the icon -->
+	<script>
+		function myFunction() {
+    			var x = document.getElementById("myTopnav");
+    			if (x.className === "topnav") {
+       			 	x.className += " responsive";
+    			} else {
+        			x.className = "topnav";
+    			}
+		}
+	</script>
+    </body>
 </html>
 

+ 103 - 56
week.html.tmpl

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html class="no-js">
+<html lang="en" class="no-js">
   <head itemscope itemtype="http://schema.org/Website">
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
@@ -23,25 +23,33 @@
     #end if
     <meta property="og:description" content="Weekly Weather Summary for $station.location - weather web site powered by WeeWX" />
     <meta property="og:type" content="website" />
-    <!-- Icons -->
+    <!-- FavIcons -->
     <link rel="icon" href="favicon.ico" type="image/png">
     <link rel="apple-touch-icon" href="touch-icon.png"/>
+        
     <!-- Styles -->
     <link href='http://fonts.googleapis.com/css?family=Lato:300,400,700' rel='stylesheet' type='text/css'>
-    <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
     <link rel="stylesheet" href="css/main.css">
-    <!-- Skripte -->
+
+    <!-- Font Awesome CDN links for 5.3-->
+    <!-- If you have a pro license -->
+    <link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-9ralMzdK1QYsk4yBY680hmsb4/hJ98xK3w0TIaJ3ll4POWpWUYaA2bRjGGujGT8w" crossorigin="anonymous">
+    <!-- Free license -->
+    <!-- <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous"> -->
+
+    <!-- Script -->
     <script src="js/modernizr-2.6.2.min.js"></script>
     <script src="js/checkdiff.js"></script>
+
   </head>
   <body>
     <header>
       <div class="container-fix" >
         <div class="h-left" >
-          <h1><i class="fa fa-cloud" ></i> $station.location </h1>
-          <p>$station.latitude[0]&deg; $station.latitude[1]' $station.latitude[2] | $station.longitude[0]&deg; $station.longitude[1]' $station.longitude[2] | $station.altitude | <a href="https://www.google.com/maps/?q=$station.latitude[0]&deg;%20$station.latitude[1]%20$station.latitude[2],$station.longitude[0]&deg;%20$station.longitude[1]%20$station.longitude[2]" target="_blank" ><i class="fa fa-map-marker" ></i> Show on map</a></p>
+          <h1><i class="fas fa-cloud" ></i> $station.location </h1>
+          <p>$station.latitude[0]&deg; $station.latitude[1]' $station.latitude[2] | $station.longitude[0]&deg; $station.longitude[1]' $station.longitude[2] | $station.altitude | <a href="https://www.google.com/maps/?q=$station.latitude[0]&deg;%20$station.latitude[1]%20$station.latitude[2],$station.longitude[0]&deg;%20$station.longitude[1]%20$station.longitude[2]" target="_blank" ><i class="fas fa-map-marker-alt" ></i> Show on map</a></p>
           <h2>Weekly Weather Summary</h2>
-          <p><i class="fa fa-clock-o" ></i> $current.dateTime $current.dateTime.format("%Z")</p>
+          <p><i class="far fa-clock" ></i> $current.dateTime $current.dateTime.format("%Z")</p>
           <p id="freshweather" class="m-orange"></p>
           <script>
             window.onload = checkDiff("$current.dateTime ($current.dateTime.format('%Z'))");
@@ -65,24 +73,18 @@
               <td><b>Server uptime:</b></td>
               <td>$station.os_uptime</td>
             </tr>
-            #if $Extras.has_key('cwop') and $Extras.has_key('crahs')
-            <tr>
-              <td><b>Station IDs:</b></td>
-              <td><a href="$Extras.cwop_url" target="_blank">$Extras.cwop</a> | <a href="$Extras.crahs_url" target="_blank">$Extras.crahs</a></td>
-            </tr>
-            #end if
           </table>
         </div>
         <nav>
           <ul class="topnav" id="myTopnav">
-            <li class="icon"><a href="javascript:void(0);" onclick="myFunction()"><i class="fa fa-bars" ></i></a></li>
+            <li class="icon"><a href="javascript:void(0);" onclick="myFunction()"><i class="fas fa-bars" ></i></a></li>
             <li><a href="/" >Current</a></li>
             <li class="active" ><a href="week.html" >Week</a></li>
             <li><a href="month.html" >Month</a></li>
             <li><a href="year.html" >Year</a></li>
             <li><a href="summary.html" >Summaries</a></li>
-            <li><a href="station.html" >Station</a></li>
-            <li><a href="RSS/weewx_rss.xml" ><i class="fa fa-rss" ></i></a></li>
+            <li><a href="about.html" >About</a></li>
+            <li><a href="RSS/weewx_rss.xml" ><i class="fas fa-rss" ></i></a></li>
           </ul>
         </nav>
       </div>
@@ -91,7 +93,7 @@
       <div class="container" >
         <div class="left" >
           <div class="card" >
-            <h1><i class="fa fa-cloud m-grau" ></i> This Week</h1>
+            <h1><i class="fas fa-cloud m-grau" ></i> This Week</h1>
             <table class="tablespacer">
               <tr>
                 <td>High Temperature</td>
@@ -155,7 +157,7 @@
               </tr>
               <tr>
                 <td>High Wind Speed</td>
-                <td>$week.wind.max $week.wind.gustdir</td>
+                <td>$week.wind.max <br> $week.wind.gustdir</td>
                 <td>$week.wind.maxtime</td>
               </tr>
               <tr>
@@ -178,6 +180,7 @@
                 <td>$week.wind.vecdir</td>
                 <td></td>
               </tr>
+	      #if $week.inTemp.has_data
               <tr>
                 <td>High Inside Temperature</td>
                 <td>$week.inTemp.max</td>
@@ -188,6 +191,7 @@
                 <td>$week.inTemp.min</td>
                 <td>$week.inTemp.mintime</td>
               </tr>
+	      #end if
               #if $week.extraTemp1.has_data
               <tr>
                 <td>High Pond Temp</td>
@@ -202,17 +206,12 @@
               #end if
               #if $week.UV.has_data
               <tr>
-                <td>High UV</td>
+                <td>High UV Index</td>
                 <td>$week.UV.max</td>
                 <td>$week.UV.maxtime</td>
               </tr>
-              <tr>
-                <td>Low UV</td>
-                <td>$week.UV.min</td>
-                <td>$week.UV.mintime</td>
-              </tr>
               #end if
-              #if $week.ET.has_data and $week.ET.sum.raw >0.0
+              #if $week.ET.has_data and $week.ET.sum.raw >1
               <tr>
                 <td>High ET</td>
                 <td>$week.ET.max</td>
@@ -230,16 +229,35 @@
                 <td>$week.radiation.max</td>
                 <td>$week.radiation.maxtime</td>
               </tr>
+              #end if
+	      #if $week.lux.has_data
+              <tr>
+                <td>High Brightness</td>
+                <td>$week.lux.max</td>
+                <td>$week.lux.maxtime</td>
+              </tr>
+              #end if
+	      #if $week.lightningStrikes.has_data
               <tr>
-                <td>Low Radiation</td>
-                <td>$week.radiation.min</td>
-                <td>$week.radiation.mintime</td>
+                <td>Most Lightning Strikes</td>
+                <td>$week.lightningStrikes.max</td>
+                <td>$week.lightningStrikes.maxtime</td>
+              </tr>
+	      <tr>
+                <td>Total Lightning Strikes</td>
+                <td>$week.lightningStrikes.sum</td>
+                <td></td>
+              </tr>
+	      <tr>
+                <td>Average Strike Distance</td>
+                <td>$week.lightningAvgDistance.avg</td>
+                <td></td>
               </tr>
               #end if
             </table>
           </div>
           <div class="card" >
-            <h1><i class="fa fa-calendar m-orange" ></i> Yesterday ($yesterday.dateTime.format("%d-%b")) </h1>
+            <h1><i class="far fa-calendar-alt m-orange" ></i> Yesterday ($yesterday.dateTime.format("%d-%b")) </h1>
             <table class="tablespacer">
               <tr>
                 <td>High Temperature</td>
@@ -307,7 +325,7 @@
               </tr>
               <tr>
                 <td>High Wind</td>
-                <td>$yesterday.wind.max $yesterday.wind.gustdir</td>
+                <td>$yesterday.wind.max <br> $yesterday.wind.gustdir</td>
                 <td>$yesterday.wind.maxtime</td>
               </tr>
               <tr>
@@ -320,6 +338,7 @@
                 <td>$yesterday.wind.vecdir</td>
                 <td></td>
               </tr>
+	      #if $yesterday.inTemp.has_data
               <tr>
                 <td>High Inside Temperature</td>
                 <td>$yesterday.inTemp.max</td>
@@ -330,6 +349,7 @@
                 <td>$yesterday.inTemp.min</td>
                 <td>$yesterday.inTemp.mintime</td>
               </tr>
+	      #end if
               #if $yesterday.extraTemp1.has_data
               <tr>
                 <td>High Pond Temp</td>
@@ -344,17 +364,12 @@
               #end if
               #if $yesterday.UV.has_data
               <tr>
-                <td>High UV</td>
+                <td>High UV Index</td>
                 <td>$yesterday.UV.max</td>
                 <td>$yesterday.UV.maxtime</td>
               </tr>
-              <tr>
-                <td>Low UV</td>
-                <td>$yesterday.UV.min</td>
-                <td>$yesterday.UV.mintime</td>
-              </tr>
               #end if
-              #if $yesterday.ET.has_data and $yesterday.ET.sum.raw >0.0
+              #if $yesterday.ET.has_data and $yesterday.ET.sum.raw >1
               <tr>
                 <td>High ET</td>
                 <td>$yesterday.ET.max</td>
@@ -372,16 +387,30 @@
                 <td>$yesterday.radiation.max</td>
                 <td>$yesterday.radiation.maxtime</td>
               </tr>
+              #end if
+	      #if $yesterday.lux.has_data
               <tr>
-                <td>Low Radiation</td>
-                <td>$yesterday.radiation.min</td>
-                <td>$yesterday.radiation.mintime</td>
+                <td>Brightness</td>
+                <td>$yesterday.lux.max</td>
+		<td>$yesterday.lux.maxtime</td> 
+              </tr>
+              #end if
+	      #if $yesterday.lightningStrikes.has_data
+              <tr>
+                <td>Lightning Strikes</td>
+                <td>$yesterday.lightningStrikes.sum</td>
+		<td></td>
+              </tr>
+	      <tr>
+                <td>Average Strike Distance</td>
+                <td>$yesterday.lightningAvgDistance.avg</td>
+		<td></td>
               </tr>
               #end if
             </table>
           </div>
           <div class="card" >
-            <h1><i class="fa fa-calendar m-orange" ></i> This Month</h1>
+            <h1><i class="far fa-calendar-alt m-orange" ></i> This Month</h1>
             <table class="tablespacer">
               <tr>
                 <td>High Temperature</td>
@@ -468,6 +497,7 @@
                 <td>$month.wind.vecdir</td>
                 <td></td>
               </tr>
+	      #if $month.inTemp.has_data
               <tr>
                 <td>High Inside Temperature</td>
                 <td>$month.inTemp.max</td>
@@ -478,6 +508,7 @@
                 <td>$month.inTemp.min</td>
                 <td>$month.inTemp.mintime</td>
               </tr>
+	      #end if
               #if $month.extraTemp1.has_data
               <tr>
                 <td>High Pond Temp</td>
@@ -492,17 +523,12 @@
               #end if
               #if $month.UV.has_data
               <tr>
-                <td>High UV</td>
+                <td>High UV Index</td>
                 <td>$month.UV.max</td>
                 <td>$month.UV.maxtime</td>
               </tr>
-              <tr>
-                <td>Low UV</td>
-                <td>$month.UV.min</td>
-                <td>$month.UV.mintime</td>
-              </tr>
               #end if
-              #if $month.ET.has_data and $month.ET.sum.raw >0.0
+              #if $month.ET.has_data and $month.ET.sum.raw >1
               <tr>
                 <td>High ET</td>
                 <td>$month.ET.max</td>
@@ -520,10 +546,24 @@
                 <td>$month.radiation.max</td>
                 <td>$month.radiation.maxtime</td>
               </tr>
+	      #end if
+	      #if $month.lux.has_data
+              <tr>
+                <td>High Brightness</td>
+                <td>$month.lux.max</td>
+		<td>$month.lux.maxtime</td>
+              </tr>
+              #end if
+	      #if $month.lightningStrikes.has_data
+	      <tr>
+                <td>Max Lightning Day</td>
+                <td>$month.lightningStrikes.max</td>
+		<td>$month.lightningStrikes.maxtime</td>
+              </tr>
               <tr>
-                <td>Low Radiation</td>
-                <td>$month.radiation.min</td>
-                <td>$month.radiation.mintime</td>
+                <td>Lightning Total</td>
+                <td>$month.lightningStrikes.sum</td>
+		<td></td>
               </tr>
               #end if
             </table>
@@ -531,15 +571,16 @@
         </div>
         <div class="right" >
           <div class="card cc graphs" >
-            <h1><i class="fa fa-line-chart m-gruen" ></i> Weekly Statistics and Plots</h1>
+            <h1><i class="far fa-chart-line m-gruen" ></i> Weekly Statistics and Plots</h1>
             <img src="weektempdew.png" alt="temperatures" />
             <img src="weekrain.png" alt="rain" />
             <img src="weekwind.png" alt="wind" />
             <img src="weekwinddir.png" alt="Hi Wind" />
             <img src="weekwindvec.png" alt="Wind Vector" />
-            <img src="weektempchill.png" alt="heatchill" />
             <img src="weekbarometer.png" alt="barometer"/>
+	    #if $week.inTemp.has_data
             <img src="weekinside.png" alt="Inside" />
+	    #end if
             <img src="weekinhumid.png" alt="Inside/Outside Humidity" />
             #if $week.UV.has_data
             <img src="weekuv.png" alt="UV index" />
@@ -547,6 +588,12 @@
             #if $week.radiation.has_data
             <img src="weekradiation.png" alt="Radiation" />
             #end if
+	    #if $week.lightningStrikes.has_data
+            <img src="weeklightning.png" alt="Lightning" />
+	    #end if
+	    #if $week.windBatteryStatus.has_data and $week.outTempBatteryStatus.has_data
+            <img src="weekbattery.png" alt="week battery"/>
+            #end if
             #if $week.rxCheckPercent.has_data
             <img src="weekrx.png" alt="week rx percent"/>
             #end if
@@ -561,16 +608,16 @@
       <div class="container-fix">
         <div style="text-align:center">
           #if $Extras.has_key('you')
-          <i class="fa fa-pied-piper-pp"> </i><a href=mailto:$Extras.email> $Extras.you</a> 
+          <i class="fab fa-pied-piper-pp"> </i><a href=mailto:$Extras.email> $Extras.you</a> 
           #end if
           &sdot;
-          Copyright <i class="fa fa-copyright"></i> $latest.dateTime.format("%Y") 
+          Copyright <i class="far fa-copyright"></i> $latest.dateTime.format("%Y") 
           <br>
           Sofaskin by <a href="http://blauesledersofa.de">Blaues Ledersofa</a>
           &sdot;
           CW9009 Version by <a href="http://cw9009.x10host.com">JDS</a>
           &sdot;
-          Powered by<i class="fa fa-cog fa-spin fa-fw" aria-hidden="true"></i><a href="http://weewx.com/" target="_blank">WeeWX</a> 
+          Powered by<i class="far fa-cog fa-spin fa-fw" aria-hidden="true"></i><a href="http://weewx.com/" target="_blank">WeeWX</a> 
         </div>
       </div>
     </footer>

+ 65 - 43
year.html.tmpl

@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-<html class="no-js">
+<html lang="en" class="no-js">
   <head itemscope itemtype="http://schema.org/Website">
     <meta charset="utf-8">
     <meta http-equiv="X-UA-Compatible" content="IE=edge">
@@ -23,13 +23,20 @@
     #end if
     <meta property="og:description" content="Yearly Weather Summary for $station.location - weather web site powered by WeeWX" />
     <meta property="og:type" content="website" />
-    <!-- Icons -->
+    <!-- FavIcons -->
     <link rel="icon" href="favicon.ico" type="image/png">
     <link rel="apple-touch-icon" href="touch-icon.png"/>
+        
     <!-- Styles -->
     <link href='http://fonts.googleapis.com/css?family=Lato:300,400,700' rel='stylesheet' type='text/css'>
-    <link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
     <link rel="stylesheet" href="css/main.css">
+
+    <!-- Font Awesome CDN links for 5.3-->
+    <!-- If you have a pro license -->
+    <link rel="stylesheet" href="https://pro.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-9ralMzdK1QYsk4yBY680hmsb4/hJ98xK3w0TIaJ3ll4POWpWUYaA2bRjGGujGT8w" crossorigin="anonymous">
+    <!-- Free license -->
+    <!-- <link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.3.1/css/all.css" integrity="sha384-mzrmE5qonljUremFsqc01SB46JvROS7bZs3IO2EmfFsd15uHvIt+Y8vEf7N7fWAU" crossorigin="anonymous"> --!>
+
     <!-- Script -->
     <script src="js/modernizr-2.6.2.min.js"></script>
     <script src="js/checkdiff.js"></script>
@@ -38,10 +45,10 @@
     <header>
       <div class="container-fix" >
         <div class="h-left" >
-          <h1><i class="fa fa-cloud" ></i> $station.location </h1>
-          <p>$station.latitude[0]&deg; $station.latitude[1]' $station.latitude[2] | $station.longitude[0]&deg; $station.longitude[1]' $station.longitude[2] | $station.altitude | <a href="https://www.google.com/maps/?q=$station.latitude[0]&deg;%20$station.latitude[1]%20$station.latitude[2],$station.longitude[0]&deg;%20$station.longitude[1]%20$station.longitude[2]" target="_blank" ><i class="fa fa-map-marker" ></i> Show on map</a></p>
+          <h1><i class="fas fa-cloud" ></i> $station.location </h1>
+          <p>$station.latitude[0]&deg; $station.latitude[1]' $station.latitude[2] | $station.longitude[0]&deg; $station.longitude[1]' $station.longitude[2] | $station.altitude | <a href="https://www.google.com/maps/?q=$station.latitude[0]&deg;%20$station.latitude[1]%20$station.latitude[2],$station.longitude[0]&deg;%20$station.longitude[1]%20$station.longitude[2]" target="_blank" ><i class="fas fa-map-marker-alt" ></i> Show on map</a></p>
           <h2>Yearly Weather Summary</h2>
-          <p><i class="fa fa-clock-o" ></i> $current.dateTime $current.dateTime.format("%Z")</p>
+          <p><i class="far fa-clock" ></i> $current.dateTime $current.dateTime.format("%Z")</p>
           <p id="freshweather" class="m-orange"></p>
           <script>
             window.onload = checkDiff("$current.dateTime ($current.dateTime.format('%Z'))");
@@ -65,24 +72,18 @@
               <td><b>Server uptime:</b></td>
               <td>$station.os_uptime</td>
             </tr>
-            #if $Extras.has_key('cwop') and $Extras.has_key('crahs')
-            <tr>
-              <td><b>Station IDs:</b></td>
-              <td><a href="$Extras.cwop_url" target="_blank">$Extras.cwop</a> | <a href="$Extras.crahs_url" target="_blank">$Extras.crahs</a></td>
-            </tr>
-            #end if
           </table>
         </div>
         <nav>
           <ul class="topnav" id="myTopnav">
-            <li class="icon"><a href="javascript:void(0);" onclick="myFunction()"><i class="fa fa-bars" ></i></a></li>
+            <li class="icon"><a href="javascript:void(0);" onclick="myFunction()"><i class="fas fa-bars" ></i></a></li>
             <li><a href="/" >Current</a></li>
             <li><a href="week.html" >Week</a></li>
             <li><a href="month.html" >Month</a></li>
             <li class="active" ><a href="year.html" >Year</a></li>
             <li><a href="summary.html" >Summaries</a></li>
-            <li><a href="station.html" >Station</a></li>
-            <li><a href="RSS/weewx_rss.xml" ><i class="fa fa-rss" ></i></a></li>
+            <li><a href="about.html" >About</a></li>
+            <li><a href="RSS/weewx_rss.xml" ><i class="fas fa-rss" ></i></a></li>
           </ul>
         </nav>
       </div>
@@ -91,7 +92,7 @@
       <div class="container" >
         <div class="left" >
           <div class="card" >
-            <h1><i class="fa fa-calendar-o m-rot" ></i> Calendar Year</h1>
+            <h1><i class="far fa-calendar-alt m-rot" ></i> Calendar Year</h1>
             <table class="tablespacer">
               <tr>
                 <td>High Temperature</td>
@@ -168,6 +169,7 @@
                 <td>$year.wind.vecdir</td>
                 <td></td>
               </tr>
+	      #if $year.inTemp.has_data
               <tr>
                 <td>High Inside Temperature</td>
                 <td>$year.inTemp.max</td>
@@ -178,6 +180,7 @@
                 <td>$year.inTemp.min</td>
                 <td>$year.inTemp.mintime</td>
               </tr>
+	      #end if
               #if $year.extraTemp1.has_data
               <tr>
                 <td>High Pond Temp</td>
@@ -192,17 +195,12 @@
               #end if
               #if $year.UV.has_data
               <tr>
-                <td>High UV</td>
+                <td>High UV Index</td>
                 <td>$year.UV.max</td>
                 <td>$year.UV.maxtime</td>
               </tr>
-              <tr>
-                <td>Low UV</td>
-                <td>$year.UV.min</td>
-                <td>$year.UV.mintime</td>
-              </tr>
               #end if
-              #if $year.ET.has_data and $year.ET.sum.raw >0.0
+              #if $year.ET.has_data and $year.ET.sum.raw >1
               <tr>
                 <td>High ET</td>
                 <td>$year.ET.max</td>
@@ -220,16 +218,18 @@
                 <td>$year.radiation.max</td>
                 <td>$year.radiation.maxtime</td>
               </tr>
+              #end if
+	      #if $year.lux.has_data
               <tr>
-                <td>Low Radiation</td>
-                <td>$year.radiation.min</td>
-                <td>$year.radiation.mintime</td>
+                <td>High Brightness</td>
+                <td>$year.lux.max</td>
+                <td>$year.lux.maxtime</td>
               </tr>
               #end if
             </table>
           </div>
           <div class="card" >
-            <h1><i class="fa fa-tint m-blau" ></i> Rain Year (1-$station.rain_year_str start)</h1>
+            <h1><i class="fas fa-tint m-blau" ></i> Rain Year (1-$station.rain_year_str start)</h1>
             <table class="tablespacer">
               <tr>
                 <td>Rain Year Total</td>
@@ -239,8 +239,9 @@
               <tr>
                 <td>High Rain Rate</td>
                 <td>$rainyear.rainRate.max</td>
-                <td>   $rainyear.rainRate.maxtime</td>
+                <td>&nbsp;&nbsp;&nbsp;&nbsp; $rainyear.rainRate.maxtime</td>
               </tr>
+	      #if $year($years_ago=1).rain.sum.string != "   N/A"
               <tr>
                 <td>$year($years_ago=1).dateTime.format("%Y") Rain Total</td>
                 <td>$year($years_ago=1).rain.sum</td>
@@ -249,12 +250,29 @@
               <tr>
                 <td>$year($years_ago=1).dateTime.format("%Y") High Rain Rate</td>
                 <td>$year($years_ago=1).rainRate.max</td>
-                <td>   $year($years_ago=1).rainRate.maxtime</td>
+                <td>&nbsp;&nbsp;&nbsp;&nbsp; $year($years_ago=1).rainRate.maxtime</td>
+              </tr>
+	      #end if
+            </table>
+          </div>
+	  <div class="card" >
+            <h1><i class="fas fa-bolt m-orange" ></i> Total Lightning Strikes</h1>
+            <table class="tablespacer">
+              <tr>
+                <td>Lightning Strikes for $year.dateTime.format("%Y")</td>
+                <td>$year.lightningStrikes.sum</td>
+              </tr>
+	      #if $year($years_ago=1).lightningStrikes.sum.string != "   N/A"
+              <tr>
+                <td>Total Lightning Strikes for $year($years_ago=1).dateTime.format("%Y")</td>
+                <td>$year($years_ago=1).lightningStrikes.sum</td>
               </tr>
+	      #end if
             </table>
           </div>
+	  #if $year($years_ago=1).outTemp.max.string != "   N/A"
           <div class="card" >
-            <h1><i class="fa fa-calendar-o m-rot" ></i> Last Calendar Year ($year($years_ago=1).dateTime.format("%Y"))</h1>
+            <h1><i class="far fa-calendar-alt m-rot" ></i> Last Calendar Year ($year($years_ago=1).dateTime.format("%Y"))</h1>
             <table class="tablespacer">
               <tr>
                 <td>High Temperature</td>
@@ -331,6 +349,7 @@
                 <td>$year($years_ago=1).wind.vecdir</td>
                 <td></td>
               </tr>
+	      #if $year($years_ago=1).inTemp.has_data
               <tr>
                 <td>High Inside Temperature</td>
                 <td>$year($years_ago=1).inTemp.max</td>
@@ -341,6 +360,7 @@
                 <td>$year($years_ago=1).inTemp.min</td>
                 <td>$year($years_ago=1).inTemp.mintime</td>
               </tr>
+	      #end if
               #if $year($years_ago=1).extraTemp1.has_data
               <tr>
                 <td>High Pond Temp</td>
@@ -359,11 +379,6 @@
                 <td>$year($years_ago=1).UV.max</td>
                 <td>$year($years_ago=1).UV.maxtime</td>
               </tr>
-              <tr>
-                <td>Low UV</td>
-                <td>$year($years_ago=1).UV.min</td>
-                <td>$year($years_ago=1).UV.mintime</td>
-              </tr>
               #end if
               #if $year($years_ago=1).ET.has_data and $year($years_ago=1).ET.sum.raw >0.0
               <tr>
@@ -383,27 +398,31 @@
                 <td>$year($years_ago=1).radiation.max</td>
                 <td>$year($years_ago=1).radiation.maxtime</td>
               </tr>
+              #end if
+	      #if $year($years_ago=1).lux.has_data
               <tr>
-                <td>Low Radiation</td>
-                <td>$year($years_ago=1).radiation.min</td>
-                <td>$year($years_ago=1).radiation.mintime</td>
+                <td>High Brightness</td>
+                <td>$year($years_ago=1).lux.max</td>
+                <td>$year($years_ago=1).lux.maxtime</td>
               </tr>
               #end if
             </table>
           </div>
+	  #end if
         </div>
         <div class="right" >
           <div class="card cc graphs" >
-            <h1><i class="fa fa-line-chart m-gruen" ></i> Yearly Statistics and Plots</h1>
+            <h1><i class="far fa-chart-line m-gruen" ></i> Yearly Statistics and Plots</h1>
             <img src="yeartempdew.png" alt="temperatures" />
             <img src="yearhilow.png" alt="Daily highs and lows for the year" title="Daily highs and lows for the year"/>
             <img src="yearrain.png" alt="rain" />
             <img src="yearwind.png" alt="wind" />
             <img src="yearwinddir.png" alt="Hi Wind" /> 
             <img src="yearwindvec.png" alt="Wind Vector" />
-            <img src="yeartempchill.png" alt="heatchill" />
             <img src="yearbarometer.png" alt="barometer"/>
+	    #if $year.inTemp.has_data
             <img src="yearinside.png" alt="Inside" />
+	    #end if
             <img src="yearinhumid.png" alt="Inside/Outside Humidity" />
             #if $year.UV.has_data
             <img src="yearuv.png" alt="UV Index" />
@@ -411,6 +430,9 @@
             #if $year.radiation.has_data
             <img src="yearradiation.png" alt="Radiation" />
             #end if
+            #if $year.lightningStrikes.has_data
+            <img src="yearlightning.png" alt="lightning" />
+            #end if
             #if $year.rxCheckPercent.has_data
             <img src="yearrx.png" alt="year rx percent"/>
             #end if
@@ -425,16 +447,16 @@
       <div class="container-fix">
         <div style="text-align:center">
           #if $Extras.has_key('you')
-          <i class="fa fa-pied-piper-pp"> </i><a href=mailto:$Extras.email> $Extras.you</a> 
+          <i class="fab fa-pied-piper-pp"> </i><a href=mailto:$Extras.email> $Extras.you</a> 
           #end if
           &sdot;
-          Copyright <i class="fa fa-copyright"></i> $latest.dateTime.format("%Y") 
+          Copyright <i class="far fa-copyright"></i> $latest.dateTime.format("%Y") 
           <br>
           Sofaskin by <a href="http://blauesledersofa.de">Blaues Ledersofa</a>
           &sdot;
           CW9009 Version by <a href="http://cw9009.x10host.com">JDS</a>
           &sdot;
-          Powered by<i class="fa fa-cog fa-spin fa-fw" aria-hidden="true"></i><a href="http://weewx.com/" target="_blank">WeeWX</a> 
+          Powered by<i class="fas fa-cog fa-spin fa-fw" aria-hidden="true"></i><a href="http://weewx.com/" target="_blank">WeeWX</a> 
         </div>
       </div>
     </footer>