From 360a9807327a417423662630e8eb5ab2b5e0be4f Mon Sep 17 00:00:00 2001 From: Masoko Date: Fri, 24 May 2024 19:27:11 +0300 Subject: [PATCH] option to enable display control during installation and some bugfixes (#119) --- install.sh | 6 ++++++ src/rpi-cpu2mqtt.py | 21 +++++++++++++++------ 2 files changed, 21 insertions(+), 6 deletions(-) diff --git a/install.sh b/install.sh index 9a5e5d3..b915d67 100755 --- a/install.sh +++ b/install.sh @@ -132,6 +132,12 @@ update_config(){ fi sed -i "s/rpi-MQTT-monitor/${TOPIC}/" src/config.py + printf "Do you need to control your monitors? (default is No): " + read CONTROL + if [[ "$CONTROL" =~ ^([yY][eE][sS]|[yY])$ ]]; then + sed -i "s/display_control = False/display_control = True/g" src/config.py + fi + print_green "+ config.py is updated with provided settings" # Get the local version diff --git a/src/rpi-cpu2mqtt.py b/src/rpi-cpu2mqtt.py index db57ada..151ba6f 100644 --- a/src/rpi-cpu2mqtt.py +++ b/src/rpi-cpu2mqtt.py @@ -52,9 +52,12 @@ def check_used_space(path): def check_cpu_load(): p = subprocess.Popen("uptime", shell=True, stdout=subprocess.PIPE).communicate()[0] cores = subprocess.Popen("nproc", shell=True, stdout=subprocess.PIPE).communicate()[0] - cpu_load = str(p).split("average:")[1].split(", ")[0].replace(' ', '').replace(',', '.') - cpu_load = float(cpu_load) / int(cores) * 100 - cpu_load = round(float(cpu_load), 1) + try: + cpu_load = str(p).split("average:")[1].split(", ")[0].replace(' ', '').replace(',', '.') + cpu_load = float(cpu_load) / int(cores) * 100 + cpu_load = round(float(cpu_load), 1) + except Exception: + cpu_load = 0 return cpu_load @@ -118,7 +121,10 @@ def check_model_name(): if model_name == '': full_cmd = "cat /proc/cpuinfo | grep 'name'| uniq" model_name = subprocess.Popen(full_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[0].decode("utf-8") - model_name = model_name.split(':')[1].replace('\n', '') + try: + model_name = model_name.split(':')[1].replace('\n', '') + except Exception: + model_name = 'Unknown' return model_name @@ -133,8 +139,11 @@ def check_rpi5_fan_speed(): def get_os(): full_cmd = 'cat /etc/os-release | grep -i pretty_name' pretty_name = subprocess.Popen(full_cmd, shell=True, stdout=subprocess.PIPE, stderr=subprocess.PIPE).communicate()[0].decode("utf-8") - pretty_name = pretty_name.split('=')[1].replace('"', '').replace('\n', '') - + try: + pretty_name = pretty_name.split('=')[1].replace('"', '').replace('\n', '') + except Exception: + pretty_name = 'Unknown' + return(pretty_name)