- Add FanControl.ChromeboxEC plugin for Fan Control - Add project background/缘由 in README (EN/zh) - Add docs/ectool-commands-zh.md - Update sln, appsettings, gitignore Made-with: Cursor
28 lines
798 B
C#
28 lines
798 B
C#
using FanControl.Plugins;
|
||
|
||
namespace FanControl.ChromeboxEC;
|
||
|
||
/// <summary>温度:ectool temps <sensorid></summary>
|
||
public sealed class ChromeboxECTempSensor : IPluginSensor
|
||
{
|
||
private readonly string _ectoolPath;
|
||
private readonly string[] _tempArgs;
|
||
|
||
public ChromeboxECTempSensor(string ectoolPath, string[] tempArgs)
|
||
{
|
||
_ectoolPath = ectoolPath;
|
||
_tempArgs = tempArgs;
|
||
}
|
||
|
||
public string Id => "ChromeboxEC_Temp";
|
||
public string Name => "Chromebox EC Temperature";
|
||
public string Origin => "ectool temps";
|
||
public float? Value { get; private set; }
|
||
|
||
public void Update()
|
||
{
|
||
var (ok, stdout, _) = EctoolRunner.Run(_ectoolPath, _tempArgs);
|
||
Value = ok && EctoolRunner.TryParseTemp(stdout) is { } temp ? temp : null;
|
||
}
|
||
}
|