Ok so it's not easy.

Maybe I should learn python :)

Thanks
Greg

On Sunday, 10 May 2020 22:13:48 UTC+10, Tom Keffer wrote:
>
> The problem here is not that the entire record is None (which should never 
> happen), but that a value inside the record is None. 
>
> There are two choices:
> 1. Explicitly check for None. This is the preferred solution.
> 2. Alternatively, the code could be changed to catch the exception, 
> optionally log it, then ignore the exception. Problem with this solution is 
> that it can cover a lot of sins.
>
> -tk
>
> On Sun, May 10, 2020 at 4:52 AM Greg from Oz <[email protected] 
> <javascript:>> wrote:
>
>> Hi tom,
>>
>> In the alarm.py how would I put the None check in the code rather than 
>> make the expression have the check code.
>>
>> I think it's on this line:
>> if eval(self.expression, None, record):                       # NOTE 3
>>
>> Would it be:
>> if record is not None and eval(self.expression, None, record):            
>>            # NOTE 3
>>
>> I am not a python programmer by the way. That way if any expression that 
>> could be none would be covered. IE you could put in rain > 0.0
>>
>> Thanks
>>
>> On Sunday, 10 May 2020 21:29:14 UTC+10, Tom Keffer wrote:
>>>
>>> I suspect 'rain' occasionally has the value 'None', which cannot be 
>>> compared to zero. Try this expression instead
>>>
>>> expression = 'rain is not None and rain > 0.0'
>>>
>>> -tk
>>>
>>>
>>> On Sat, May 9, 2020 at 9:38 PM Ian Prescott <[email protected]> wrote:
>>>
>>>> Hi I have a fineoffset usb weather station which has been running 
>>>> raspbian stretch and weewx 3.9 ok and using alarm.py with no issues.
>>>> For weewx 4 I decided to start from fresh, new sd card, new raspbian 
>>>> buster, and a fresh weewx install.
>>>> After a of couple learner hicups I now have weewx 4 using buster and 
>>>> python 3 up and running.
>>>> However I have hit a wall with alarm.py
>>>> If I use expression = "rain > 0.0" then weewx crashes.
>>>> If I use expression = "outTemp < 30.0" then weewx keeps running but no 
>>>> email is ever received.
>>>>
>>>> So after a search of the forum I found this command
>>>> sudo PYTHONPATH=/usr/share/weewx python3 /usr/share/weewx/user/alarm.py 
>>>> /etc/weewx/weewx.conf
>>>> This ran ok and I got an email
>>>>
>>>> I have attached my weewx.conf and the log from when I start weewx to 
>>>> when it crashes using expression = "rain > 0.0".
>>>> I have no idea how to get any useful info regarding expression = 
>>>> "outTemp < 30.0", there doesn't appear to be anything unusual in the log.
>>>>
>>>> Thanks
>>>>
>>>> and again a fantastic program and a great learning experience.
>>>>
>>>> -- 
>>>> 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/ca5c79a5-c6bc-40d3-b0a0-1915d2929135%40googlegroups.com
>>>>  
>>>> <https://groups.google.com/d/msgid/weewx-user/ca5c79a5-c6bc-40d3-b0a0-1915d2929135%40googlegroups.com?utm_medium=email&utm_source=footer>
>>>> .
>>>>
>>> -- 
>> 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] <javascript:>.
>> To view this discussion on the web visit 
>> https://groups.google.com/d/msgid/weewx-user/bdb0aa99-c00e-4f2f-aa27-0651a3bb21eb%40googlegroups.com
>>  
>> <https://groups.google.com/d/msgid/weewx-user/bdb0aa99-c00e-4f2f-aa27-0651a3bb21eb%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>>
>

-- 
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/1f1c840f-5f5a-4506-85e2-e98b2d77d949%40googlegroups.com.

Reply via email to