Link to house9dash
parent
2c44265a33
commit
81ae9a62c1
|
|
@ -18,6 +18,8 @@ ros_maximum_speed: 15000000 # 15 mbit
|
||||||
ros_wan_interface: lte1
|
ros_wan_interface: lte1
|
||||||
api_host: 0.0.0.0
|
api_host: 0.0.0.0
|
||||||
api_port: 1357
|
api_port: 1357
|
||||||
|
bad_speed_mbps: 0.2
|
||||||
|
good_speed_mbps: 8
|
||||||
|
|
||||||
|
|
||||||
# Conversion rate 1 mbit : 1000000 bits
|
# Conversion rate 1 mbit : 1000000 bits
|
||||||
|
|
@ -4,10 +4,23 @@ import yaml
|
||||||
from paths import CONFIG_DIR
|
from paths import CONFIG_DIR
|
||||||
|
|
||||||
def read_config(name="config"):
|
def read_config(name="config"):
|
||||||
with open(os.path.join(CONFIG_DIR, name+".yaml"), "r") as f:
|
conf_path = os.path.join(CONFIG_DIR, name+".yaml")
|
||||||
|
if not os.path.exists(conf_path):
|
||||||
|
return {}
|
||||||
|
with open(conf_path, "r") as f:
|
||||||
data = yaml.load(f.read())
|
data = yaml.load(f.read())
|
||||||
return data
|
return data
|
||||||
|
|
||||||
def write_config(data, name="config"):
|
def write_config(data, name="config"):
|
||||||
with open(os.path.join(CONFIG_DIR, name+".yaml"), "w+") as f:
|
with open(os.path.join(CONFIG_DIR, name+".yaml"), "w+") as f:
|
||||||
f.write(yaml.dump(data, default_flow_style=False))
|
f.write(yaml.dump(data, default_flow_style=False))
|
||||||
|
|
||||||
|
def edit_config(data, name="config"):
|
||||||
|
conf = read_config(name)
|
||||||
|
for key, value in data:
|
||||||
|
conf[key] = value
|
||||||
|
write_config(conf, name)
|
||||||
|
|
||||||
|
|
||||||
|
def dash_data(data):
|
||||||
|
edit_config(data, "dash_data")
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
from configuration import read_config
|
from configuration import read_config, dash_data
|
||||||
# region Logger
|
# region Logger
|
||||||
import logging
|
import logging
|
||||||
from debug import setup_logging, catch_errors
|
from debug import setup_logging, catch_errors
|
||||||
|
|
@ -325,9 +325,17 @@ def on_fail_or_no_connection():
|
||||||
|
|
||||||
generate_database_reports()
|
generate_database_reports()
|
||||||
|
|
||||||
|
dash_data({
|
||||||
|
"wan_download": 0,
|
||||||
|
"wan_upload": 0,
|
||||||
|
"quality": 0
|
||||||
|
})
|
||||||
|
|
||||||
log.warning("No internet connection! Exiting.")
|
log.warning("No internet connection! Exiting.")
|
||||||
sys.exit()
|
sys.exit()
|
||||||
|
|
||||||
|
def range_convert(value, min_old, max_old, min_new, max_new):
|
||||||
|
return (((value - min_old) * (max_new - min_new)) / (max_old - min_old)) + min_new
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
'''
|
'''
|
||||||
|
|
@ -357,6 +365,8 @@ if __name__ == "__main__":
|
||||||
entry.download = mbits(wan_download)
|
entry.download = mbits(wan_download)
|
||||||
entry.save()
|
entry.save()
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
if wan_download < config['ros_minimum_speed']:
|
if wan_download < config['ros_minimum_speed']:
|
||||||
wan_download = config['ros_minimum_speed']
|
wan_download = config['ros_minimum_speed']
|
||||||
|
|
||||||
|
|
@ -366,6 +376,12 @@ if __name__ == "__main__":
|
||||||
|
|
||||||
generate_database_reports()
|
generate_database_reports()
|
||||||
|
|
||||||
|
dash_data({
|
||||||
|
"wan_download": mbits(wan_download),
|
||||||
|
"wan_upload": mbits(wan_upload),
|
||||||
|
"quality": int(range_convert(wan_download, config['bad_speed_mbps'], config['good_speed_mbps'], 1, 5)),
|
||||||
|
"quality_percent": int(range_convert(wan_download, config['bad_speed_mbps'], config['good_speed_mbps'], 1, 100))
|
||||||
|
})
|
||||||
|
|
||||||
except:
|
except:
|
||||||
log.error("Error!", exc_info=True)
|
log.error("Error!", exc_info=True)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue