>
> Thank you for replying
>

Here are the logs as requested.
I hope it helps solve my problem

Michael 

-- 
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 weewx-user+unsubscr...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
#!/usr/bin/python
#
#   $ Revision2B: beta 003 $
#   $ Author: WhimickRH $
#   $ US - UK $
#   $ Date: 2017-11-10
#   $
#   $ Raspi_Met Version 2B WEEWX Beta 003 $
#   $ For For GrovePi Weather Station $
#   $ And weather Display CSV output    $
#\

# -------------------------------IMPORT DEPENDENCIES-----------------------------------------

from __future__ import with_statement
import os
import os.path
import sys
import syslog
import numpy as np
import time
import datetime
import cPickle
import logging
import random
import threading
import multiprocessing
import csv
import shutil

# -------------------------------GROVEPI BOARD AND SENSORS-----------------------------------

import smbus
import RPi.GPIO as GPIO
import grovepi
from grovepi import *
import BMP280.BMP280 as BMP280

# -------------------------------WEEWX DRIVERS-----------------------------------------------

import weeutil.weeutil
import weewx.drivers
import weewx.wxformulas

# -------------------------------PATH AND MODULES--------------------------------------------

sys.path.append('/home/pi/Weather_Sensors')
import Air_Sensors
import SDL_Pi_SI1145
import SI1145Lux
from grove_i2c_temp_hum_hdc1000 import HDC1000
import SDL_DS3231
import Wind_Rain6

# -------------------------------GROVEPI BOARD & SENSOR SET UP-------------------------------

rev = GPIO.RPI_REVISION
if rev == 2 or rev == 3:
	bus = smbus.SMBus(1)
else:
	bus = smbus.SMBus(0)

GPIO.setwarnings(False)

# -------------------------------RESET LEDS--------------------------------------------------

green_led = 4
digitalWrite(green_led, 0)

red_led = 3
digitalWrite(red_led, 0)

# -------------------------------ANALOG SENSORS----------------------------------------------

Water = 0		# Pin 15 is A0 Port. Grove - Water_Sensor(LeafWetness)
Moisture = 1    # Pin 16 is A1 Port. Grove - Moisture_Sensor(PlantPot)

grovepi.pinMode(Water, "INPUT")      # Grove - Water_Sensor(LeafWetness)
grovepi.pinMode(Moisture, "INPUT")   # Grove - Moisture Sensor(PlantPot)

# -------------------------------SUNLIGHT SENSOR Si1145--------------------------------------

# sunsensor = SI1145.SI1145()
sunsensor = SDL_Pi_SI1145.SDL_Pi_SI1145()

# -------------------------------12C SENSORS-------------------------------------------------

BMP_sensor = BMP280.BMP280()  # GROVE 12C TEMPERATURE-HUMID-BAROMOMETER

hdc = HDC1000()
hdc.Config()

# -------------------------------RTL DS3231 RTC----------------------------------------------

ds3231 = SDL_DS3231.SDL_DS3231(1, 0x68)

# -------------------------------VARIABLES---------------------------------------------------

record_no = 0
water_sensor = 0
moisture_sensor = 0
ws = 0
rain_mm = 0

# -------------------------------ERROR LOGGING-----------------------------------------------

logging.basicConfig(filename='/home/pi/WxRam/Raspi_Met2WX_Error.txt', filemode='a', level=logging.ERROR,
	format='%(asctime)s %(levelname)s %(name)s %(message)s')
logger=logging.getLogger(__name__)

# -------------------------------GROVEPI WEATHER STATION-------------------------------------

DRIVER_NAME = 'Raspi_Met2WX'
DRIVER_VERSION = '003'

def loader(config_dict, engine):
	return Raspi_Met2WXDriver(**config_dict[DRIVER_NAME])
	
def confeditor_loader():
	return Raspi_Met2WXConfEditor()

def logmsg(level, msg):
	syslog.syslog(level, 'Raspi_Met2WX: %s' % msg)

def logdbg(msg):
	logmsg(syslog.LOG_DEBUG, msg)

def loginf(msg):
	logmsg(syslog.LOG_INFO, msg)

def logerr(msg):
	logmsg(syslog.LOG_ERR, msg)

class Raspi_Met2WXDriver(weewx.drivers.AbstractDevice):
	
	def __init__(self, **stn_dict):
		
		loginf('driver version is %s' % DRIVER_VERSION)
		
		self.loop_interval = float(stn_dict.get('loop_interval', 5))
		self.Software_Version = "Raspi_Met Version 2B Beta 003"
		
		self.starttime = time.time()
		self.start_hour = int(time.strftime("%H"))
		
		self.record_no = record_no
		self.na = ""
		
		self.system_temp_C = 0
		self.system_temp_F = 0
		
		self.outTemp_C = 0
		self.outTemp_F = 0
		self.inTemp_C = 0
		self.inTemp_F = 0
		
		self.barometer = 0
		self.inHg = 0
		self.mspl = 0
		self.mspl_inHg = 0
		self.altitude = 0
		
	def hardware_name(self):
		return DRIVER_NAME
		
# -------------------------------READ SDL_DS3231 TIME----------------------------------------
	"""
	def ds3231_time(self):
		
		self.rtc_time = "%s" % ds3231.read_datetime()
		self.rtc_temp = ds3231.getTemp()
		ds3231_t = ds3231.read_datetime()
		self.epoch_dt = int(time.mktime(time.strptime(ds3231_t.strftime("%Y-%m-%d %H:%M:%S"), "%Y-%m-%d %H:%M:%S")))
		GPIO.cleanup()
		# print("Times",self.rtc_time, self.rtc_time, self.epoch)
		# --------DATE TIME---------------
		self.year = int(time.strftime("%Y"))
		self.month = int(time.strftime("%m"))
		self.day = int(time.strftime("%d"))
		self.hour = int(time.strftime("%H"))
		self.minutes = int(time.strftime("%M"))
		self.seconds = int(time.strftime("%S"))
		return self.rtc_time, self.rtc_time, self.epoch_dt
	"""
# -------------------------------RASPI TEMPERATURE SENSORS-----------------------------------
	
	def pi_temp(self):
		f = open('/sys/class/thermal/thermal_zone0/temp', 'r')
		input = f.readline()
		if input:
			s_temp = float(input) / 1000
			self.system_temp_C = round(s_temp, 1)
			# self.system_temp_F = round(9.0 / 5.0 * self.system_temp_C + 32, 1)
			
			self.system_temp_F = (self.system_temp_C * 1.8) + 32
		else:
			self.system_temp_C = 0
			self.system_temp_F = 0
		# print("system_temp_C", self.system_temp_C)
		return self.system_temp_C, self.system_temp_F
		
# -------------------------------READ TEMPERATURE & BARO SENSORS---------------
	
	def intemp_baro(self):
		
		self.inTemp_C = round(BMP_sensor.read_temperature(), 2)
		self.inTemp_F = round((self.inTemp_C * 1.8) + 32, 2)
		# print('inTemp_C', self.inTemp_C)
		
		self.barometer = ((BMP_sensor.read_pressure()) * 0.01)  # hPa
		# print('barometer', self.barometer)
		
		self.inHg = round(0.029529980164712 * self.barometer, 2)  # inHg
		# print('inHg', self.inHg)
		
		self.mspl = (BMP_sensor.read_sealevel_pressure())  # hPa
		# print('mspl', self.mspl)
		
		self.mspl_inHg = round(self.barometer * 0.02952998751, 2)  # inHg
		# print('mspl_inHg', self.mspl_inHg)
		
		self.altitude = round(BMP_sensor.read_altitude(), 2)  # Meters
		print('altitude', self.altitude)
		
		return self.inTemp_C, self.inTemp_F, self.barometer, self.inHg, self.mspl, self.mspl_inHg, self.altitude
	
	def genLoopPackets(self):
		
		while True:
			start_time = time.time()
			try:
				# self.ds3231_time()
				self.pi_temp()
				self.temp_baro_sensors()
				self.epoch_dt = int(time.mktime(time.gmtime()))
				packet = {'dateTime': int(time.time() + 0.5), 'usUnits': weewx.US}
				
				packet['datetime'] = self.epoch_dt
				packet['inTemp'] = self.inTemp_F
				packet['outTemp'] = self.outTemp_F
				#packet['outHumidity'] = self.outHumidity
				#packet['barometer'] = self.inHg
				#packet['pressure'] = self.mspl_inHg
				#packet['altimeter'] = self.altitude
				
				yield packet
				
				time.sleep = (start_time - time.time()) + self.loop_interval
				self.record_no += 1
				
			except Exception as e:
				logging.exception(str(e))
				print(logging.exception(str(e)))
				sys.exit()


class Raspi_Met2WXConfEditor(weewx.drivers.AbstractConfEditor):
	@property
	def default_stanza(self):
		return

def main():
	station = Raspi_Met2WXDriver()
	Raspi_Loop_thread = threading.Thread(target=station.genLoopPackets(), args=())
	Raspi_Loop_thread.daemon = True
	Raspi_Loop_thread.start()
	return

# --------------------------------RUN MAIN----------------------------------------------------

if __name__ == '__main__':
	try:
		main()

	except Exception as e:
		# digitalWrite(green_led, 0)
		logging.exception(str(e))
		print(logging.exception(str(e)))
		sys.exit()
Nov 11 22:56:00 RaspiDexmet1 weewx[1132]: engine: Initializing weewx version 
3.7.1
Nov 11 22:56:00 RaspiDexmet1 weewx[1132]: engine: Using Python 2.7.13 (default, 
Jan 19 2017, 14:48:08) #012[GCC 6.3.0 20170124]
Nov 11 22:56:00 RaspiDexmet1 weewx[1132]: engine: Platform 
Linux-4.9.53-v7+-armv7l-with-debian-9.1
Nov 11 22:56:00 RaspiDexmet1 weewx[1132]: engine: Locale is 'en_GB.UTF-8'
Nov 11 22:56:00 RaspiDexmet1 weewx[1132]: engine: pid file is /var/run/weewx.pid
Nov 11 22:56:00 RaspiDexmet1 weewx[1136]: engine: Using configuration file 
/home/weewx/weewx.conf
Nov 11 22:56:00 RaspiDexmet1 weewx[1136]: engine: Loading station type 
Raspi_Met2WX (user.Raspi_Met2WX)
Nov 11 22:56:00 RaspiDexmet1 weewx[1121]: Starting weewx weather system: weewx.
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: Raspi_Met2WX: driver version is 003
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: engine: StdConvert target unit is 0x1
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: 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 11 22:56:01 RaspiDexmet1 weewx[1136]: wxcalculate: The following algorithms 
will be used for calculations: altimeter=aaNOAA, maxSolarRad=RS
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: engine: Archive will use data binding 
wx_binding
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: engine: Record generation will be 
attempted in 'hardware'
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: engine: Using archive interval of 60 
seconds (specified in weewx configuration)
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: manager: Created and initialized 
table 'archive' in database 'weewx.sdb'
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: manager: Created daily summary tables
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: engine: Using binding 'wx_binding' to 
database 'weewx.sdb'
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: manager: Starting backfill of daily 
summaries
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: restx: StationRegistry: Registration 
not requested.
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: restx: Wunderground: Posting not 
enabled.
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: restx: PWSweather: Posting not 
enabled.
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: restx: CWOP: Posting not enabled.
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: restx: WOW: Posting not enabled.
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: restx: AWEKAS: Posting not enabled.
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: engine: Starting up weewx version 
3.7.1
Nov 11 22:56:01 RaspiDexmet1 weewx[1136]: engine: Starting main packet loop.
Nov 11 23:00:35 RaspiDexmet1 weewx[1201]: Stopping weewx weather system: weewx 
not running....

Reply via email to