시놀로지 디스크 직접 조회 중지
This commit is contained in:
1 parent
0a29bee803
commit
d975b5d6be
2 files changed
+3
-52
No files matched your search
+2
-51
@@ -70,26 +70,6 @@ while :; do
|
||||
sleep 0.1
|
||||
done
|
||||
"""
|
||||
SYNOLOGY_DISK_TEMP_SCRIPT = r"""
|
||||
for disk in /dev/sata1 /dev/sata2 /dev/sata4; do
|
||||
temp="-"
|
||||
if [ -b "$disk" ]; then
|
||||
temp="$(
|
||||
/usr/bin/timeout 3 sudo -n /usr/bin/smartctl -A "$disk" 2>/dev/null |
|
||||
awk '/Temperature_Celsius|Airflow_Temperature_Cel/ {print $10; exit}'
|
||||
)"
|
||||
case "$temp" in
|
||||
''|*[!0-9]*) temp="-" ;;
|
||||
esac
|
||||
fi
|
||||
printf '%s=%s\n' "${disk##/dev/}" "$temp"
|
||||
done |
|
||||
awk -F= '
|
||||
$1 == "sata1" {printf "SATA1_TEMP=%s\n", $2 ? $2 : "-"}
|
||||
$1 == "sata2" {printf "SATA2_TEMP=%s\n", $2 ? $2 : "-"}
|
||||
$1 == "sata4" {printf "SATA4_TEMP=%s\n", $2 ? $2 : "-"}
|
||||
'
|
||||
"""
|
||||
SYNOLOGY_HEALTH_SCRIPT = r"""
|
||||
cpu="$(cat /sys/class/hwmon/hwmon0/temp1_input 2>/dev/null)"
|
||||
fan="$(cat /sys/class/hwmon/hwmon1/fan2_input 2>/dev/null)"
|
||||
@@ -116,7 +96,6 @@ DISK_TEMP_INTERVAL_MS = TEMP_INTERVAL_MS
|
||||
DISK_TEMP_CACHE_FILE = "/run/control-rpi-disk-temp"
|
||||
DISK_TEMP_CACHE_MAX_AGE_SECONDS = 30
|
||||
RPI_THROTTLE_INTERVAL_MS = SAMPLE_INTERVAL_MS
|
||||
SYNOLOGY_DISK_TEMP_INTERVAL_MS = TEMP_INTERVAL_MS
|
||||
SYNOLOGY_HEALTH_INTERVAL_MS = FAN_INTERVAL_MS
|
||||
|
||||
|
||||
@@ -588,7 +567,6 @@ class TouchPanel(QMainWindow):
|
||||
self.last_synology_net_rate = {}
|
||||
self.synology_buffer = ""
|
||||
self.synology_values = {}
|
||||
self.synology_disk_temps = {}
|
||||
self.synology_cpu_temp = 0.0
|
||||
self.synology_fan_rpm = 0
|
||||
self.last_io = None
|
||||
@@ -642,12 +620,6 @@ class TouchPanel(QMainWindow):
|
||||
self.synology_timer.timeout.connect(self.update_synology_status)
|
||||
self.synology_timer.start(SYNOLOGY_RESTART_INTERVAL_MS)
|
||||
|
||||
self.synology_disk_temp_proc = QProcess(self)
|
||||
self.synology_disk_temp_proc.finished.connect(self.synology_disk_temp_finished)
|
||||
self.synology_disk_temp_timer = QTimer(self)
|
||||
self.synology_disk_temp_timer.timeout.connect(self.update_synology_disk_temp)
|
||||
self.synology_disk_temp_timer.start(SYNOLOGY_DISK_TEMP_INTERVAL_MS)
|
||||
|
||||
self.synology_health_proc = QProcess(self)
|
||||
self.synology_health_proc.finished.connect(self.synology_health_finished)
|
||||
self.synology_health_timer = QTimer(self)
|
||||
@@ -677,7 +649,6 @@ class TouchPanel(QMainWindow):
|
||||
self.ping_pc()
|
||||
self.update_disk_temp()
|
||||
self.update_synology_status()
|
||||
self.update_synology_disk_temp()
|
||||
self.update_synology_health()
|
||||
self.ping_synology()
|
||||
self.update_rpi_throttle()
|
||||
@@ -943,29 +914,11 @@ class TouchPanel(QMainWindow):
|
||||
self.synology_values = {}
|
||||
self.synology_proc.start(SYNOLOGY_SSH[0], SYNOLOGY_SSH[1:] + [SYNOLOGY_STATUS_SCRIPT])
|
||||
|
||||
def update_synology_disk_temp(self):
|
||||
if self.synology_disk_temp_proc.state() != QProcess.NotRunning:
|
||||
return
|
||||
self.synology_disk_temp_proc.start(SYNOLOGY_SSH[0], SYNOLOGY_SSH[1:] + [SYNOLOGY_DISK_TEMP_SCRIPT])
|
||||
|
||||
def update_synology_health(self):
|
||||
if self.synology_health_proc.state() != QProcess.NotRunning:
|
||||
return
|
||||
self.synology_health_proc.start(SYNOLOGY_SSH[0], SYNOLOGY_SSH[1:] + [SYNOLOGY_HEALTH_SCRIPT])
|
||||
|
||||
def synology_disk_temp_finished(self, exit_code, exit_status):
|
||||
del exit_status
|
||||
if exit_code != 0:
|
||||
return
|
||||
output = bytes(self.synology_disk_temp_proc.readAllStandardOutput()).decode("utf-8", "ignore").strip()
|
||||
temps = {}
|
||||
for line in output.splitlines():
|
||||
if "=" not in line:
|
||||
continue
|
||||
key, value = line.split("=", 1)
|
||||
temps[key.strip()] = value.strip()
|
||||
self.synology_disk_temps = temps
|
||||
|
||||
def synology_health_finished(self, exit_code, exit_status):
|
||||
del exit_status
|
||||
if exit_code != 0:
|
||||
@@ -1097,10 +1050,8 @@ class TouchPanel(QMainWindow):
|
||||
)
|
||||
|
||||
def synology_disk_temp_detail(self, disk):
|
||||
value = self.synology_disk_temps.get(f"{disk}_TEMP", "")
|
||||
if not value or value == "-" or value == "0":
|
||||
return ""
|
||||
return f"{value} C"
|
||||
del disk
|
||||
return "조회 중지"
|
||||
|
||||
def set_synology_net_tile(self, key, rx, tx, errors, drops, detail):
|
||||
previous = self.last_synology.get(key)
|
||||
|
||||
Reference in new issue
Block a user