Comments (15)
This may be related to the fact my AQI sensor got so soaked in a rainstorm it shorted out, so no data is available, and the has_data issue previously raised.
The replacement parts are en route.
from weewx-aqi-xtype.
In python the min (and max) cannot have ’None’ in the list. The lists returned from get_series will need to be processed to remove these items.
from weewx-aqi-xtype.
How?
from weewx-aqi-xtype.
Sorry, that comment was meant for me. I did some initial triage and didn't want to lose it. Once I finish migrating to WeeWX I'll get on this.
from weewx-aqi-xtype.
Tell me if there is anything on this or your other project I can test.
The new air quality sensor's arrival from the manufacturer is imminent.
from weewx-aqi-xtype.
Latest commit removes any ‘None’ values prior to calculating NowCast AQI. Could you try it against real data?
Also, just curious, did this just start with upgrade to WeeWX V5? If so, any chance you also upgraded python?
Thanks
from weewx-aqi-xtype.
Sensor installed. No luck...keeps crashing with the error.
from weewx-aqi-xtype.
I’ll add some debug logging so we can see what the data really looks like.
from weewx-aqi-xtype.
Additional debug logging in latest commit. It will show the inputs to the NowCast calculations.
Also, did this just start with upgrade to WeeWX V5? If so, any chance you also upgraded python?
from weewx-aqi-xtype.
I'm not sure because of the gap caused by the hardware failure, but I never noticed it before the upgrade.
No recent python version changes...
from weewx-aqi-xtype.
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: Evaluation of template /etc/weewx/skins/Seasons/index.html.tmpl failed with exception '<class 'weewx.CannotCalculate'>'
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** Ignoring template /etc/weewx/skins/Seasons/index.html.tmpl
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** Reason: pm2_5_aqi
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** Traceback (most recent call last):
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weewx/cheetahgenerator.py", line 334, in generate
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** unicode_string = compiled_template.respond()
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** File "_etc_weewx_skins_Seasons_index_html_tmpl.py", line 219, in respond
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** File "/usr/lib/python3/dist-packages/Cheetah/Template.py", line 1708, in _handleCheetahInclude
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** self._CHEETAH__cheetahIncludes[_includeID].respond(trans)
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** File "_etc_weewx_skins_Seasons_current_inc.py", line 197, in respond
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** File "/usr/lib/python3/dist-packages/Cheetah/Template.py", line 1446, in getVar
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** return valueFromSearchList(
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^^^^
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** File "/usr/lib/python3/dist-packages/Cheetah/NameMapper.py", line 291, in valueFromSearchList
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** return _valueForName(namespace, name,
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** File "/usr/lib/python3/dist-packages/Cheetah/NameMapper.py", line 231, in _valueForName
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** nextObj = getattr(obj, key)
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weewx/tags.py", line 389, in has_data
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** val = weewx.xtypes.has_data(self.obs_type, self.timespan, db_manager)
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weewx/xtypes.py", line 156, in has_data
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** vt = xtype.get_aggregate(obs_type, timespan, 'not_null', db_manager)
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weewx/xtypes.py", line 942, in get_aggregate
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** value = get_scalar(obs_type, record, db_manager)[0]
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** File "/usr/share/weewx/weewx/xtypes.py", line 86, in get_scalar
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** return xtype.get_scalar(obs_type, record, db_manager, **option_dict)
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** File "/etc/weewx/bin/user/aqitype.py", line 342, in get_scalar
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** raise weewx.CannotCalculate(obs_type)
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** weewx.CannotCalculate: pm2_5_aqi
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: Evaluation of template /etc/weewx/skins/Seasons/rss.xml.tmpl failed.
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** Ignoring template /etc/weewx/skins/Seasons/rss.xml.tmpl
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** Reason: cannot find 'dateTime'
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** To debug, try inserting '#errorCatcher Echo' at top of template
from weewx-aqi-xtype.
- Can you post the changes you had to make to seasons skin? Or even zip that directory.
- Make sure you are running with the latest commit of weewx-aqi-xtype. Let me know if you need a release made.
Thanks
from weewx-aqi-xtype.
I am...and just added the types to observation stats.
from weewx-aqi-xtype.
Interesting, I’m seeing a blank line at
Feb 03 22:38:16 ozonepark weewxd[2499406]: ERROR weewx.cheetahgenerator: **** File "/etc/weewx/bin/user/aqitype.py", line 342, in get_scalar
At this time, since debug =1 is broken in v5 it doesn’t really matter.
I’m trying to determine if it is base WeeWX or this xtype. I’ll let you know when I know more.
from weewx-aqi-xtype.
The error in seasons skin should be fixed in next WeeWX release. See 929 for details.
I hope the rss error is a side effect because that error has no information related to weewx-aqi-xtype.
from weewx-aqi-xtype.
Related Issues (11)
- Document How to Add this to Standard Skins HOT 17
- Default Formatting for AQI HOT 4
- NowCast vs AQI Current Conditions
- Need to make prepending or appending the xtype configurable
- Do a deep dive into get_aggregate implementation
- Do a deep dive into get_series HOT 1
- aqi_EPAAQI_description HOT 1
- Examine NowCast support HOT 1
- weewx-aqi-xtype installer issue HOT 1
- Tests, tests, tests
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from weewx-aqi-xtype.