weather-pydash/data-old.py
2025-01-16 10:44:17 -07:00

79 lines
2.9 KiB
Python

import requests
import ast
from datetime import datetime
from time import sleep
import pandas as pd
import pickle
import json
import math
import numpy as np
def convert_float(value):
try:
return float(value)
except:
return None
def convert_int(value):
try:
return int(value)
except:
return None
root_dir = "/home/tonydero/projects/weather-pydash/"
sensors_url = "http://192.168.1.221/get_livedata_info"
try:
with open(root_dir+'output/saved_sensors_dict.pkl', 'rb') as f:
loaded_dict = pickle.load(f)
except:
print("Failed to open pkl")
sensors_response = requests.get(sensors_url)
sensors_dict = ast.literal_eval(sensors_response.content.decode('utf-8'))
den_dict = sensors_dict['wh25'][0]
outdoor_dict = sensors_dict['ch_aisle'][0]
lroom_dict = sensors_dict['ch_aisle'][1]
roffice_dict = sensors_dict['ch_aisle'][2]
toffice_dict = sensors_dict['ch_aisle'][3]
broom_dict = sensors_dict['ch_aisle'][4]
lightning_dict = sensors_dict['lightning'][0]
datum_dict = {}
datum_dict['den_temp'] = convert_float(den_dict['intemp'])
datum_dict['den_humi'] = convert_float(den_dict['inhumi'].strip("%"))/100
datum_dict['den_pabs'] = convert_float(den_dict['abs'].strip(" inHg"))
datum_dict['den_prel'] = convert_float(den_dict['rel'].strip(" inHg"))
datum_dict['lroom_temp'] = convert_float(lroom_dict['temp'])
datum_dict['lroom_humi'] = convert_float(lroom_dict['humidity'].strip("%"))/100
datum_dict['lroom_batt'] = convert_int(lroom_dict['battery'])
datum_dict['roffice_temp'] = convert_float(roffice_dict['temp'])
datum_dict['roffice_humi'] = convert_float(roffice_dict['humidity'].strip("%"))/100
datum_dict['roffice_batt'] = convert_int(roffice_dict['battery'])
datum_dict['toffice_temp'] = convert_float(toffice_dict['temp'])
datum_dict['toffice_humi'] = convert_float(toffice_dict['humidity'].strip("%"))/100
datum_dict['toffice_batt'] = convert_int(toffice_dict['battery'])
datum_dict['broom_temp'] = convert_float(broom_dict['temp'])
datum_dict['broom_humi'] = convert_float(broom_dict['humidity'].strip("%"))/100
datum_dict['broom_batt'] = convert_int(broom_dict['battery'])
datum_dict['outdoor_temp'] = convert_float(outdoor_dict['temp'])
datum_dict['outdoor_humi'] = convert_float(outdoor_dict['humidity'].strip("%"))/100
datum_dict['outdoor_batt'] = convert_int(outdoor_dict['battery'])
datum_dict['lghtng_dist'] = convert_float(lightning_dict['distance'])
datum_dict['lghtng_date'] = lightning_dict['date']
datum_dict['lghtng_time'] = lightning_dict['timestamp']
datum_dict['lghtng_scnt'] = convert_float(lightning_dict['count'])
datum_dict['lghtng_batt'] = convert_int(lightning_dict['battery'])
loaded_dict[int(datetime.now().strftime("%s"))] = datum_dict
print(datetime.now())
with open(root_dir+'output/saved_sensors_dict.pkl', 'wb') as f:
pickle.dump(loaded_dict, f)
with open(root_dir+'output/saved_sensors_dict.json', 'w') as f:
json.dump(loaded_dict, f)