Good, I have submitted a PR for the change to the repo owner.

Gary

On Thursday, 7 May 2020 17:32:49 UTC+10, Greg from Oz wrote:
>
> Hi Gary,
>
> I add the highlighted text you suggested into line 277 
> of gauge-data.txt.tmpl
> so it in now like this:
> #if $hour.rain.sum.raw is not None and $hour.rain.sum.raw > $hourlyrainTH
> and I had no errors and the gauges have now appeared.
>
> So it works. I don't think I could have worked that one out by myself.
>
> Hopefully this will help someone else as well. I will let you know if 
> anything else happens but so far so good.
>
> Thanks
>
>
>
> On Thursday, 7 May 2020 17:03:06 UTC+10, gjr80 wrote:
>>
>> As you are no doubt aware by now tracking down python errors that occur 
>> in a template (as distinct from python errors in a SLE or the WeeWX code 
>> base) can be a real pain as we can't reconcile the line number given in the 
>> error message with any source code. The following line tells us the error 
>> is in some in-line python code in the gauge-data.txt.tmpl template:
>>
>> May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: ****    
>> File "_etc_weewx_skins_ss_gauge_data_txt_tmpl.py", line 339, in respond
>>
>> If the error was in an SLE or the WeeWX code base we would have a nicely 
>> named (and known) .py (eg mySLE.py or cheetahgenerator.py) file rather 
>> than the cryptic name above. We can't use the line number from 
>> _etc_weewx_skins_ss_gauge_data_txt_tmpl.py as it is a temporary file 
>> created by Cheetah that we have no access to. The only thing we can use 
>> is the error message text, in your case:
>>
>> May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: ****  
>> TypeError: '>' not supported between instances of 'NoneType' and 'int'
>>
>> That message tells us a few things. We know that we have an error in an 
>> expression involving '>' (greater than). As it turns out > appears in the 
>> template only twice, at lines 69 and 277:
>>
>> #if $h > 0
>>
>> and
>>
>> #if $hour.rain.sum.raw > $hourlyrainTH
>>
>> We also know the left hand side is equating to None (the cause of the 
>> error) and the right hand side of the comparison is equating to an integer. 
>> If we look at line 69 if $h was None that would throw the error we are 
>> getting (0 in considered an int). $h is calculated at the line 68 and 
>> indirectly involves lines 66 and 67:
>>
>> #set $dp_K = $current.dewpoint.degree_C.raw + 273.16
>> #set $e = 6.11 * math.exp(5417.7530 * ((1/273.16) - 1/$dp_K))
>> #set $h = 0.5555 * ($e - 10.0)
>>
>> We know $dp_K is not None; if it was we would get and error on line 66 
>> where $dp_K is calculated (None + 273.16). Therefore we know $h cannot 
>> be None. So line 69 is not the source of the error.
>>
>> If we look at line 277 to get the error we are seeing $hour.rain.sum.raw 
>> would need to be None and $hourlyrainTH would need to be an int. 
>> $hourlyrainTH is initialised to 0 at line 274, so $hourlyrainTH could be 
>> well be an int. Could $hour.rain.sum.raw be None, quite possible if 
>> there is no rain data (as distinct from there being data but it is 0) for a 
>> full hour sometime today. So it looks like we have found the problem line. 
>> How to fix it? Given the purpose of that piece of that piece of code is to 
>> find the hour of the highest rainfall today we can just put another 
>> conditional in there so we skip hours with no rainfall data, eg (not 
>> tested):
>>
>> #for $hour in $day.hours
>> #if $hour.rain.sum.raw is not None and $hour.rain.sum.raw > 
>> $hourlyrainTH 
>> #set $hourlyrainTH = $hour.rain.sum.raw
>>
>> Now if $hour.rain.sum.raw is None the first conditional will cause 
>> execution to skip the rest of the if statement avoiding the problematic '>'.
>>
>> Apologies this was somewhat long winded, but I thought it a perfect 
>> opportunity to highlight one of the (few) techniques for tracking down 
>> in-line python errors in templates.
>>
>> Gary
>>
>> On Thursday, 7 May 2020 09:52:07 UTC+10, Greg from Oz wrote:
>>>
>>> I can live without the gauges. Below is the error:
>>>
>>> May  7 09:35:24 jed165 weewx[2390] DEBUG weewx.reportengine: Running 
>>> report 'SteelSeries'
>>> May  7 09:35:24 jed165 weewx[2390] DEBUG weewx.reportengine: Found 
>>> configuration file /etc/weewx/skins/ss/skin.conf for report 'SteelSeries'
>>> May  7 09:35:24 jed165 weewx[2390] INFO weewx.reportengine: Copied 0 
>>> files to /var/www/html/weather/ss
>>> May  7 09:35:24 jed165 weewx[2390] DEBUG weewx.cheetahgenerator: Using 
>>> search list ['weewx.cheetahgenerator.Almanac', 'weewx.cheetahgenerator.S
>>> tation', 'weewx.cheetahgenerator.Current', 
>>> 'weewx.cheetahgenerator.Stats', 'weewx.cheetahgenerator.UnitInfo', 
>>> 'weewx.cheetahgenerator.Extras']
>>> May  7 09:35:24 jed165 weewx[2390] DEBUG weewx.manager: Daily summary 
>>> version is 2.0
>>> May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: 
>>> Generate failed with exception '<class 'TypeError'>'
>>> May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** 
>>> Ignoring template /etc/weewx/skins/ss/gauge-data.txt.tmpl
>>> May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: **** 
>>> Reason: '>' not supported between instances of 'NoneType' and 'int'
>>> May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: ****  
>>> Traceback (most recent call last):
>>> May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: ****    
>>> File "/usr/share/weewx/weewx/cheetahgenerator.py", line 322, in genera
>>> te
>>> May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: ****    
>>>   unicode_string = compiled_template.respond()
>>> May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: ****    
>>> File "_etc_weewx_skins_ss_gauge_data_txt_tmpl.py", line 339, in respon
>>> d
>>> May  7 09:35:24 jed165 weewx[2390] ERROR weewx.cheetahgenerator: ****  
>>> TypeError: '>' not supported between instances of 'NoneType' and 'int'
>>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"weewx-user" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/weewx-user/9055c81f-e90c-4fd2-9bfa-04350f04f2f2%40googlegroups.com.

Reply via email to