Hi
I have been using a C86234 standalone for a while. Hooked it up to a PC dual bootable between windows and linux. Did not like the Heavy Weather Pro software since 1) required windows, 2) too restrictive functionality, 3) prefer linux.
Weewx really looks
close to what I need and want. Really appreciate the hard work
everyone has put into weewx. Maybe I can help debug the ws28xx.py....
Installed weewx 2.4.0 using the setup.py script, using the default sqlite DB. Pretty uneventful install once I understood to use ws28xx rather than fousb and set DEBUG = 1. Helps to RTFM a little more than I wanted to. <grin> Tailing weewxd output into a disk file for troubleshooting.
Ftp to web site works well most of the time, handles the web site down condition easily.
Observed issues:
1. 'barometer' = None, and 'pressure' = the manually set C86234 console relative pressure setting, 'altimeter' = 36.xxxx inHg which is wrong. Probably the important issue that I want to help fix. See next section for more in depth discussion about this.
2. 'rain' reading 10X actual values observed using a WMR100N/PCR800 rain gauge and also comparing with nearby CWOP and NWS sites. Adding “rain = rain / 10” in weewx.conf [StdCalibrate] fixed that. Not sure why this was an issue....
3. weewx: bogus date entries in /var/log/messages which apparently is known issue and not a big deal.
4. Tried the same pairing method used with Heavy Weather (press C86234 console Down arrow) which did not work, but would pair at the top of the hour reliably. Looked in ws28xx.py a little and discovered pressing set button method and pairing works perfectly now. Suggest putting that in an FAQ for ws28xx unless I missed it?
5. Streaming certain audio or video streams on other devices in house causes ftp timeouts to external weather web site. Have 20 Mbit/sec connection, fast router, can run multiple streams without issues on other devices including wireless devices. The PC running weewx has a gigabit wired connection path to the router so is not wireless related. Appears to be a too quick timeout on each ftped file. Have not done more in depth analysis yet. Any known issues/fix for that?
6. The web site is updated via one URL (upload.xxxx.xxxx), but has to be accessed via another URL (welbyweather.home.comcast.net). This delta messes up the links in the RSS feed. Could hardcode the correct URL in the RSS skin but not the best solution. Weewx.conf would be better. Again not a huge issue, might tackle this in the future myself.
Investigating Pressure issue in depth:
Commenting out barometer statement in [StdQC], 'barometer' and 'altimeter' now are 36.xxx rather than None. Remember that 'pressure' matches the C86234 console rel pressure (like 29.xxxx or 30.xxxx). My altitude is 5197 feet. So one thought was to just set the console rel pressure to the station pressure listed on a nearby NWS web site (like 24.6xx).
Unfortunately the C86234 console only supports setting pressures between 27.17 to 31.90 inHg (920 to 1080 hPa) so using station pressure is not possible. Look for DIA and Mus. Nat. Sci. pressure triads at http://www.crh.noaa.gov/bou/include/webpres.php?product=webpres.txt for typical values.
I have dug into how 'pressure' gets set in ws28xx.py which is coming from get_observation() which calls sp2ap() and sp2bp() to compute the 'altimeter' and 'barometer' pressures. After reading http://www.crh.noaa.gov/bou/awebphp/definitions_pressure.php it appears that the altimeter pressure should come directly from the C86234 console pressure setting rather than setting sp first. I think sp/bp should then be computed from ap.
Am I missing something obvious before I dig into mod'ing the above python def's to fix the pressure problems?
TIA!
Bruce Petrie
Background info about station
Celeron single core 1.8 GHz, RAM: 1533 MB,
32 bit fedora, python 2.7.8, using external web page via ftp
C86234 console FW: 332 which is setup with US/English units
TX59UN-1-IT Therm/Hydro sensor
TX63U-IT wind sensor 9 feet high
TX58UN-IT Rain Sensor
USBTRX-10 USB FOB (model # ERF-USB)
startup from messages file:
Aug 25 14:44:42 e weewx[5392]: wxengine: Initializing weewx version 2.4.0
Aug 25 14:44:42 e weewx[5392]: wxengine: Using Python 2.7 (r27:82500, Sep 16 2010, 18:03:06) #012[GCC 4.5.1 20100907 (Red Hat 4.5.1-3)]
Aug 25 14:44:42 e weewx[5392]: wxengine: Using configuration file /home/weewx/weewx.conf
Aug 25 14:44:42 e weewx[5392]: wxengine: Loading station type WS28xx (weewx.drivers.ws28xx)
Aug 25 14:44:42 e weewx[5392]: ws28xx: MainThread: driver version is 0.2
Aug 25 14:44:42 e weewx[5392]: ws28xx: MainThread: frequency is US
Aug 25 14:44:42 e weewx[5392]: ws28xx: MainThread: altitude is 1584.0456 meters
Aug 25 14:44:42 e weewx[5392]: ws28xx: MainThread: pressure offset is None
Aug 25 14:44:42 e weewx[5392]: wxengine: StdConvert target unit is 0x1
Aug 25 14:44:42 e weewx[5392]: wxengine: Using config file archive interval of 300
Aug 25 14:44:42 e weewx[5392]: wxengine: Record generation will be attempted in 'hardware'
Aug 25 14:44:42 e weewx[5392]: wxengine: Using archive database: archive_sqlite
Aug 25 14:44:42 e weewx[5392]: stats: stats database up to date.
Aug 25 14:44:42 e weewx[5392]: wxengine: Using stats database: stats_sqlite
Aug 25 14:44:42 e weewx[5392]: wxengine: Starting up weewx version 2.4.0
Aug 25 14:44:42 e weewx[5392]: wxengine: Starting main packet loop.
Aug 25 14:44:42 e weewx[5392]: ws28xx: MainThread: manufacturer: LA CROSSE TECHNOLOGY
Aug 25 14:44:42 e weewx[5392]: ws28xx: MainThread: product: Weather Direct Light Wireless
Aug 25 14:44:42 e weewx[5392]: ws28xx: MainThread: interface: 0
Aug 25 14:44:42 e weewx[5392]: ws28xx: MainThread: base frequency: 905000000
Aug 25 14:44:42 e weewx[5392]: ws28xx: MainThread: frequency correction: 97464 (17cb8)
Aug 25 14:44:42 e weewx[5392]: ws28xx: MainThread: adjusted frequency: 949058745 (38917cb9)
Aug 25 14:44:42 e weewx[5392]: ws28xx: MainThread: transceiver ID: 181 (b5)
Aug 25 14:44:42 e weewx[5392]: ws28xx: MainThread: transceiver serial: 010122081200181
Aug 25 14:53:00 e weewx[5392]: ws28xx: RFComm: console is paired to device with ID b5
Typical output from weewxd:
LOOP: 2013-08-25 18:40:40 MDT (1377477640) {'barometer': 36.087779100941745, 'windchill': 82.4, 'dewpoint': 54.21343792841772, 'outTemp': 82.4, 'outHumidity': 38, 'rainRate': 0.0, 'signal': 100, 'heatindex': 82.4, 'rain': 0.0, 'dateTime': 1377477640, 'windDir': 270, 'pressure': 30.150620200826936, 'windSpeed': 1.342161810275146, 'inHumidity': 50, 'inTemp': 67.28, 'windGust': 2.684323620550292, 'usUnits': 1, 'altimeter': 36.243650927765124, 'battery': 0, 'windGustDir': 270}
REC: 2013-08-25 18:40:00 MDT (1377477600) {'interval': 5, 'barometer': 36.086271854913186, 'windchill': 82.52599999999998, 'dewpoint': 53.959813840344204, 'outTemp': 82.52599999999998, 'outHumidity': 37.5, 'rainRate': 0.0, 'signal': 100.0, 'heatindex': 82.52599999999998, 'rain': 0.0, 'dateTime': 1377477600, 'windDir': 290.11439399112334, 'pressure': 30.150620200826943, 'windSpeed': 0.8276664496696734, 'inHumidity': 50.0, 'inTemp': 67.244, 'battery': 0.0, 'windGust': 2.684323620550292, 'altimeter': 36.24365092776513, 'usUnits': 1, 'windGustDir': 270}
LOOP: 2013-08-25 18:41:15 MDT (1377477675) {'barometer': 36.087779100941745, 'windchill': 82.4, 'dewpoint': 54.21343792841772, 'outTemp': 82.4, 'outHumidity': 38, 'rainRate': 0.0, 'signal': 100, 'heatindex': 82.4, 'rain': 0.0, 'dateTime': 1377477675, 'windDir': 135, 'pressure': 30.150620200826936, 'windSpeed': 0.8947745401834307, 'inHumidity': 50, 'inTemp': 67.1, 'windGust': 1.342161810275146, 'usUnits': 1, 'altimeter': 36.243650927765124, 'battery': 0, 'windGustDir': 135}
2. 'rain' reading 10X actual values observed using a WMR100N/PCR800 rain gauge and also comparing with nearby CWOP and NWS sites. Adding “rain = rain / 10” in weewx.conf [StdCalibrate] fixed that. Not sure why this was an issue....
4. Tried the same pairing method used with Heavy Weather (press C86234 console Down arrow) which did not work, but would pair at the top of the hour reliably. Looked in ws28xx.py a little and discovered pressing set button method and pairing works perfectly now. Suggest putting that in an FAQ for ws28xx unless I missed it?
Investigating Pressure issue in depth:
Commenting out barometer statement in [StdQC], 'barometer' and 'altimeter' now are 36.xxx rather than None. Remember that 'pressure' matches the C86234 console rel pressure (like 29.xxxx or 30.xxxx). My altitude is 5197 feet. So one thought was to just set the console rel pressure to the station pressure listed on a nearby NWS web site (like 24.6xx).
Unfortunately the C86234 console only supports setting pressures between 27.17 to 31.90 inHg (920 to 1080 hPa) so using station pressure is not possible. Look for DIA and Mus. Nat. Sci. pressure triads at http://www.crh.noaa.gov/bou/include/webpres.php?product=webpres.txt for typical values.
I have dug into how 'pressure' gets set in ws28xx.py which is coming from get_observation() which calls sp2ap() and sp2bp() to compute the 'altimeter' and 'barometer' pressures. After reading http://www.crh.noaa.gov/bou/awebphp/definitions_pressure.php it appears that the altimeter pressure should come directly from the C86234 console pressure setting rather than setting sp first. I think sp/bp should then be computed from ap.
Am I missing something obvious before I dig into mod'ing the above python def's to fix the pressure problems?
Obviously, the pressure_offset just makes the situation worse.