X-Git-Url: https://git.rvb.name/weathermon.git/blobdiff_plain/e4e1557426f8e5ca10ca616140528939d86426cd..6c7c64de24a54d6bea09cb5a179d3a4c630c13ef:/weathermon diff --git a/weathermon b/weathermon index f7b2bd5..66d6ac4 100755 --- a/weathermon +++ b/weathermon @@ -29,8 +29,10 @@ path = None timeout = 5 external_submit_interval = 320 +owm_submit_interval = 320 expire_interval = 1200 submit_time = time() +submit_time_owm = time() submit_queue = {} import MySQLdb @@ -109,7 +111,7 @@ def submit_narodmon(queue): response_value = response_buffer.getvalue() - print_log('Content: '+response_value) + print_log('Narodmon response: '+response_value) return True @@ -149,7 +151,7 @@ def submit_owm(queue): response_value = response_buffer.getvalue() - print_log('Content: '+response_value) + print_log('Openweathermap response: '+response_value) return True @@ -173,18 +175,21 @@ def purge_queue(): def submit_data(sensor_type,sensor_id,sensor_param,param_value): global submit_time + global submit_time_owm + global external_submit_interval + global owm_submit_interval global submit_queue c = database.cursor() c.execute('CALL meteo.submit_value(%s,%s,%s,%s,NULL)', (sensor_type,sensor_id,sensor_param,param_value)) database.commit() submit_queue[sensor_type+'.'+sensor_id+'.'+sensor_param]={'val':param_value,'timestamp':time()} if time()>submit_time+external_submit_interval: - if submit_narodmon(submit_queue): - if owmuser: - submit_owm(submit_queue) - print_log('Purging queue...') - submit_time=time() - purge_queue() + submit_narodmon(submit_queue) + submit_time=time() + if owmuser and time()>submit_time_owm+owm_submit_interval: + submit_owm(submit_queue) + submit_time_owm=time() + purge_queue() def process_str(str): @@ -205,17 +210,19 @@ def process_str(str): sensor_id = None for rec in sens: key,value = rec.split('=') - if key == 'TYPE': - sensor_type = value - elif key == 'ID': - sensor_id = value - else: - sensor[key] = value + value=value.strip() + if len(value)>0: + if key == 'TYPE': + sensor_type = value + elif key == 'ID': + sensor_id = value + else: + sensor[key] = value if sensor_type: if not sensor_id: sensor_id='DEFAULT'; for key in sensor: - if sensor[key] is not None: + if sensor[key]: print_log('Type = '+sensor_type+', ID = '+sensor_id+', Param = '+key+', Value = '+sensor[key]) submit_data(sensor_type,sensor_id,key,sensor[key]) else: