Have a look in /home/weewx/weewx.conf, in particular look for the WEEWX_ROOT 
config item (should be around line 14). Does it exist, is it correct. Look 
at the lines above and below. Your weewx.conf should look something like this 
one <https://github.com/weewx/weewx/blob/master/weewx.conf#L14> (well at 
least the first so many lines). If in doubt post your weewx.conf making 
sure you take out any sensitive info, passwords, addresses etc.

Gary

On Sunday, 25 November 2018 09:40:16 UTC+10, KattanaD wrote:
>
> I think I broke it
> Nov 24 23:27:03 raspberrypi weewx[2635]: engine: Archive will use data 
> binding wx_binding
> Nov 24 23:27:03 raspberrypi weewx[2635]: engine: Record generation will be 
> attempted in 'hardware'
> Nov 24 23:27:03 raspberrypi weewx[2635]: engine: Using archive interval of 
> 300 seconds (specified in weewx configuration)
> Nov 24 23:27:03 raspberrypi weewx[2635]: sdr: MainThread: shutdown process 
> rtl_433 -q -U -F json -G
> Nov 24 23:27:14 raspberrypi weewx[2635]: sdr: MainThread: timed out 
> waiting for stderr-thread
> Nov 24 23:27:14 raspberrypi weewx[2635]: engine: Caught unrecoverable 
> exception in engine:
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****  missing option 
> "WEEWX_ROOT" in interpolation.
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****  Traceback (most recent 
> call last):
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weewx/engine.py", line 871, in main
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      engine = 
> engine_class(config_dict)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weewx/engine.py", line 78, in __init__
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      
> self.loadServices(config_dict)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weewx/engine.py", line 142, in loadServices
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      
> self.service_obj.append(weeutil.weeutil._get_object(svc)(self, config_dict))
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weewx/engine.py", line 492, in __init__
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      
> self.setup_database(config_dict)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weewx/engine.py", line 596, in setup_database
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      dbmanager = 
> self.engine.db_binder.get_manager(self.data_binding, initialize=True)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weewx/manager.py", line 856, in get_manager
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      
> default_binding_dict=defaults)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weewx/manager.py", line 971, in 
> get_manager_dict_from_config
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      database)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weewx/manager.py", line 934, in 
> get_database_dict_from_config
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      
> weeutil.weeutil.conditional_merge(database_dict, 
> config_dict['DatabaseTypes'][database_type])
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weeutil/weeutil.py", line 117, in conditional_merge
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      if 
> isinstance(b_dict[k], dict):
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/usr/lib/python2.7/dist-packages/configobj.py", line 557, in __getitem__
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      return 
> self._interpolate(key, val)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/usr/lib/python2.7/dist-packages/configobj.py", line 549, in _interpolate
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      return 
> engine.interpolate(key, value)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/usr/lib/python2.7/dist-packages/configobj.py", line 352, in interpolate
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      value = 
> recursive_interpolate(key, value, self.section, {})
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/usr/lib/python2.7/dist-packages/configobj.py", line 330, in 
> recursive_interpolate
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      k, v, s = 
> self._parse_match(match)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/usr/lib/python2.7/dist-packages/configobj.py", line 417, in _parse_match
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      value, section = 
> self._fetch(key)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/usr/lib/python2.7/dist-packages/configobj.py", line 386, in _fetch
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      raise 
> MissingInterpolationOption(key)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****  
> MissingInterpolationOption: missing option "WEEWX_ROOT" in interpolation.
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****  Exiting.
> Nov 24 23:27:19 raspberrypi kernel: [  665.738244] usb 1-1.3: dvb_usb_v2: 
> found a 'Realtek RTL2832U reference design' in warm state
> Nov 24 23:27:19 raspberrypi kernel: [  665.812515] usb 1-1.3: dvb_usb_v2: 
> will pass the complete MPEG2 transport stream to the software demuxer
> Nov 24 23:27:19 raspberrypi kernel: [  665.812603] dvbdev: DVB: 
> registering new adapter (Realtek RTL2832U reference design)
> Nov 24 23:27:19 raspberrypi kernel: [  665.831847] i2c i2c-3: Added 
> multiplexed i2c bus 4
> Nov 24 23:27:19 raspberrypi kernel: [  665.831872] rtl2832 3-0010: Realtek 
> RTL2832 successfully attached
> Nov 24 23:27:19 raspberrypi kernel: [  665.832006] usb 1-1.3: DVB: 
> registering adapter 0 frontend 0 (Realtek RTL2832 (DVB-T))...
> Nov 24 23:27:19 raspberrypi kernel: [  665.832472] r820t 4-001a: creating 
> new instance
> Nov 24 23:27:19 raspberrypi kernel: [  665.841957] r820t 4-001a: Rafael 
> Micro r820t successfully identified
> Nov 24 23:27:19 raspberrypi kernel: [  665.884151] Registered IR keymap 
> rc-empty
> Nov 24 23:27:19 raspberrypi kernel: [  665.884405] rc rc0: Realtek 
> RTL2832U reference design as 
> /devices/platform/soc/20980000.usb/usb1/1-1/1-1.3/rc/rc0
> Nov 24 23:27:19 raspberrypi kernel: [  665.884689] input: Realtek RTL2832U 
> reference design as 
> /devices/platform/soc/20980000.usb/usb1/1-1/1-1.3/rc/rc0/input10
> Nov 24 23:27:19 raspberrypi kernel: [  665.895504] input: MCE IR 
> Keyboard/Mouse (dvb_usb_rtl28xxu) as /devices/virtual/input/input11
> Nov 24 23:27:19 raspberrypi kernel: [  665.896513] rc rc0: lirc_dev: 
> driver ir-lirc-codec (dvb_usb_rtl28xxu) registered at minor = 0
> Nov 24 23:27:19 raspberrypi kernel: [  665.896540] usb 1-1.3: dvb_usb_v2: 
> schedule remote query interval to 200 msecs
> Nov 24 23:27:19 raspberrypi kernel: [  665.912763] usb 1-1.3: dvb_usb_v2: 
> 'Realtek RTL2832U reference design' successfully initialized and connected
> Nov 24 23:27:20 raspberrypi systemd-udevd[2735]: Process '/usr/sbin/th-cmd 
> --socket /var/run/thd.socket --passfd --udev' failed with exit code 1.
> Nov 24 23:27:20 raspberrypi systemd-udevd[2730]: Process '/usr/sbin/th-cmd 
> --socket /var/run/thd.socket --passfd --udev' failed with exit code 1.
> Nov 24 23:27:20 raspberrypi systemd-udevd[2736]: Process '/usr/sbin/th-cmd 
> --socket /var/run/thd.socket --passfd --udev' failed with exit code 1.
> Nov 24 23:31:27 raspberrypi systemd[1]: Starting Cleanup of Temporary 
> Directories...
> Nov 24 23:31:27 raspberrypi systemd[1]: Started Cleanup of Temporary 
> Directories.
> Nov 24 23:27:01 raspberrypi weewx[2631]: engine: Initializing weewx 
> version 3.8.2
> Nov 24 23:27:01 raspberrypi weewx[2631]: engine: Using Python 2.7.13 
> (default, Sep 26 2018, 18:42:22) #012[GCC 6.3.0 20170516]
> Nov 24 23:27:01 raspberrypi weewx[2631]: engine: Platform 
> Linux-4.14.71+-armv6l-with-debian-9.4
> Nov 24 23:27:01 raspberrypi weewx[2631]: engine: Locale is 'en_GB.UTF-8'
> Nov 24 23:27:01 raspberrypi weewx[2631]: engine: pid file is 
> /var/run/weewx.pid
> Nov 24 23:27:01 raspberrypi weewx[2620]: Starting weewx weather system: 
> weewx.
> Nov 24 23:27:01 raspberrypi systemd[1]: Started LSB: weewx weather system.
> Nov 24 23:27:02 raspberrypi weewx[2635]: engine: Using configuration file 
> /home/weewx/weewx.conf
> Nov 24 23:27:02 raspberrypi weewx[2635]: engine: Loading station type SDR 
> (user.sdr)
> Nov 24 23:27:02 raspberrypi weewx[2635]: sdr: MainThread: driver version 
> is 0.47
> Nov 24 23:27:02 raspberrypi weewx[2635]: sdr: MainThread: sensor map is 
> {'inTemp': 'temperature.1AEB.AcuriteTowerPacket', 'outTemp': 
> 'temperature.3AE1.AcuriteTowerPacket', 'outHumidity': 
> 'humidity.3AE1.AcuriteTowerPacket', 'inHumidity': 
> 'humidity.1AEB.AcuriteTowerPacket'}
> Nov 24 23:27:02 raspberrypi weewx[2635]: sdr: MainThread: deltas is 
> {'strikes': 'strikes_total', 'rain': 'rain_total'}
> Nov 24 23:27:02 raspberrypi weewx[2635]: sdr: MainThread: startup process 
> 'rtl_433 -q -U -F json -G'
> Nov 24 23:27:03 raspberrypi weewx[2635]: engine: StdConvert target unit is 
> 0x1
> Nov 24 23:27:03 raspberrypi weewx[2635]: wxcalculate: The following values 
> will be calculated: barometer=prefer_hardware, windchill=prefer_hardware, 
> dewpoint=prefer_hardware, appTemp=prefer_hardware, 
> rainRate=prefer_hardware, windrun=prefer_hardware, 
> heatindex=prefer_hardware, maxSolarRad=prefer_hardware, 
> humidex=prefer_hardware, pressure=prefer_hardware, 
> inDewpoint=prefer_hardware, ET=prefer_hardware, altimeter=prefer_hardware, 
> cloudbase=prefer_hardware
> Nov 24 23:27:03 raspberrypi kernel: [  649.204638] r820t 4-001a: 
> destroying instance
> Nov 24 23:27:03 raspberrypi weewx[2635]: wxcalculate: The following 
> algorithms will be used for calculations: altimeter=aaNOAA, maxSolarRad=RS
> Nov 24 23:27:03 raspberrypi kernel: [  649.231410] dvb_usb_v2: 'Realtek 
> RTL2832U reference design:1-1.3' successfully deinitialized and disconnected
> Nov 24 23:27:03 raspberrypi weewx[2635]: engine: Archive will use data 
> binding wx_binding
> Nov 24 23:27:03 raspberrypi weewx[2635]: engine: Record generation will be 
> attempted in 'hardware'
> Nov 24 23:27:03 raspberrypi weewx[2635]: engine: Using archive interval of 
> 300 seconds (specified in weewx configuration)
> Nov 24 23:27:03 raspberrypi weewx[2635]: sdr: MainThread: shutdown process 
> rtl_433 -q -U -F json -G
> Nov 24 23:27:14 raspberrypi weewx[2635]: sdr: MainThread: timed out 
> waiting for stderr-thread
> Nov 24 23:27:14 raspberrypi weewx[2635]: engine: Caught unrecoverable 
> exception in engine:
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****  missing option 
> "WEEWX_ROOT" in interpolation.
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****  Traceback (most recent 
> call last):
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weewx/engine.py", line 871, in main
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      engine = 
> engine_class(config_dict)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weewx/engine.py", line 78, in __init__
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      
> self.loadServices(config_dict)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weewx/engine.py", line 142, in loadServices
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      
> self.service_obj.append(weeutil.weeutil._get_object(svc)(self, config_dict))
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weewx/engine.py", line 492, in __init__
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      
> self.setup_database(config_dict)
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****    File 
> "/home/weewx/bin/weewx/engine.py", line 596, in setup_database
> Nov 24 23:27:14 raspberrypi weewx[2635]:     ****      db
>
> On Saturday, November 24, 2018 at 9:11:39 AM UTC-8, KattanaD wrote:
>>
>> Installed weewx 3.8.2 using the script on my raspberry pi
>> I would like to add a co2 sensor to my weather station.
>> im using acurite sensors and rtl_433 currently
>>
>> I have a Cozir gc-0017 co2 sensor 20% range
>> serial sensor connected to usb to TTL cable
>> here is how the data comes from the sensor 
>>
>> pi@raspberrypi:~ $ python cozir.py
>> Python progam to run a Cozir Sensor
>> CO2 PPM =  40.0
>> CO2 PPM =  450.0
>> CO2 PPM =  450.0
>> CO2 PPM =  450.0
>> CO2 PPM =  450.0
>>
>> #Python progam to run a Cozir Sensor
>> import serial
>> import time
>> multiplier = 10 # 20% sensors requires a multiplier
>> ser = serial.Serial("/dev/ttyUSB0")
>> print "Python progam to run a Cozir Sensor\n"
>> ser.write("M 4\r\n") # set display mode to show only CO2
>> ser.write("K 2\r\n") # set  operating mode
>> # K sets the mode,  2 sets streaming instantaneous CO2 output
>> # \r\n is CR and LF
>> ser.flushInput()
>> time.sleep(1)
>> while True:
>>     ser.write("Z\r\n")
>>     resp = ser.read(10)
>>     resp = resp[:8]
>>     fltCo2 = float(resp[2:])
>>     print "CO2 PPM = ", fltCo2  * multiplier
>>     time.sleep(1)
>>
>>  
>> i have been reading up on file parse but im in a little over my head.
>>
>

-- 
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].
For more options, visit https://groups.google.com/d/optout.

Reply via email to