first commit
This commit is contained in:
39
hardwareinfo.py
Normal file
39
hardwareinfo.py
Normal file
@@ -0,0 +1,39 @@
|
||||
from HardwareMonitor.Hardware import * # equivalent to 'using LibreHardwareMonitor.Hardware;'
|
||||
import HardwareMonitor.Util
|
||||
import json
|
||||
from flask import Flask, jsonify, request
|
||||
app = Flask(__name__)
|
||||
|
||||
with open("carls.conf", "r") as config_file:
|
||||
config = json.load(config_file)
|
||||
url_path = "/" + config["service_info"]["url_path"] # Ensure no leading or trailing slashes
|
||||
|
||||
@app.route(url_path + '/hardware_data', methods=['GET'])
|
||||
def get_cpu_data( ):
|
||||
computer = HardwareMonitor.Util.OpenComputer(cpu=True, motherboard=True)
|
||||
computer.Update( )
|
||||
|
||||
data = HardwareMonitor.Util.ToBuiltinTypes(computer.Hardware)
|
||||
#print(json.dumps(data, indent=4))
|
||||
cpu_data = { }
|
||||
cpu_data["Tempertures"] = { }
|
||||
cpu_data["Loads"] = { }
|
||||
cpu_data["Motherboard"] = { }
|
||||
for hardware in data:
|
||||
if hardware["HardwareType"] == "Cpu":
|
||||
for sensor in hardware["Sensors"]:
|
||||
if sensor["SensorType"] == "Temperature":
|
||||
cpu_data["Tempertures"][sensor["Name"]] = sensor["Value"]
|
||||
if sensor["SensorType"] == "Load":
|
||||
cpu_data["Loads"][sensor["Name"]] = sensor["Value"]
|
||||
if hardware["HardwareType"] == "Motherboard":
|
||||
for sub_hardware in hardware["SubHardware"]:
|
||||
for sensor in sub_hardware["Sensors"]:
|
||||
if sensor["Type"] == "Sensor":
|
||||
if "Value" in sensor:
|
||||
cpu_data["Motherboard"][sensor["Name"]] = sensor["Value"]
|
||||
return cpu_data
|
||||
|
||||
if __name__ == '__main__':
|
||||
print(url_path + '/cpu_data')
|
||||
app.run(port=1098)
|
||||
Reference in New Issue
Block a user