GithubHelp home page GithubHelp logo

wiiznokes / librefancontrol Goto Github PK

View Code? Open in Web Editor NEW
42.0 3.0 3.0 4.46 MB

A way to control fans based on temperature

License: GNU Affero General Public License v3.0

Kotlin 81.91% C# 14.01% PowerShell 2.16% Shell 1.92%
compose compose-desktop control fan fancontrol lhm linux material3 windows lm-senors

librefancontrol's Introduction

LibreFanControl

⚠️

This project is deprecated. The new version is here: https://github.com/wiiznokes/fan-control

Translation

  • Open source
  • Service very low on resource (~30mb)
  • Display sensors data on real time
  • Control fans based on custom behaviors
  • Save configuration
  • Multiplatform (Linux/Windows)

mainPageV1

Requirements

You will need some component of dotnet 7

  • ASP.NET Core Runtime
  • .NET Runtime

You will need to run the app with admin privilege on both Linux and Windows.

If you have any troubles, check out the FAQ.

Issues, enhancement requests and PR are welcomed!

Configurations files

Windows

  • C:\ProgramData\LibreFanControl

Linux

  • /etc/LibreFanControl

On Linux, maybe you will need to download lm-sensors and execute sensors-detect.

Plans (not in this order)

  • Support Linux
  • Use type safe strings and icons (moko-resources ?)
  • Add a system to automatically receive updates
  • Compile with container (docker, podman)
  • Implement settings (info, help)
  • Add graph behavior (abscissa -> temp, ordinate -> fan speed)
  • Write an intelligent program to bind controls to their fans, and make a nice first config
  • Support Flatpak
  • Upgrade service (packaging, tray icon with actions)

Library used

UI

SENSORS

Windows
Linux

Licence

Can be discuss. I just want my code keep being open source.

librefancontrol's People

Contributors

dependabot[bot] avatar wiiznokes avatar zhangjing-github-code avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

librefancontrol's Issues

dialog

addConfig -> textInput cancel add

needAdmin -> TextInfo ok

confNotSave -> TextInfo quit save newSave

launchAtStartUp -> TextInfo yes no

error -> TextInfo

Service structure

Api:

Called from app:

  • Open
  • Close
  • ChangeConf(Conf)
  • ChangeSetting(setting)

Called from service:

  • SetControls(deviceList)
  • SetFans(deviceList)
  • SetTemps(deviceList)
  • UpdateControls(updateList)
  • UpdateTemps(updateList)
  • UpdateFans(updateList)

State:

  • Bool isOpen = false
  • Bool confChange = false
  • Bool settingChange = false

Items

Add this to behaviors:

  • Method Calcul return int?
  • Method IsValid return true si le behavior est utilisable
  • Field bool setOneTime

Add this to ControlItem

  • Method IsValid

Should also handle custom temp

When IsOpen == false

Create a list of list of Any


Foreach control
Si control.isValid ajout list2
Ajout list2 control correspondant
Find behavior
Si behavior.isValid && behavior.setOneTime
Ajout list2 behavior
Set list2
Clear list2
Si behavior.isValid && !behavior.setOneTime
Ajout list2 behavior
Find temp
Ajout list2 temp
Ajout list1 list2
List2.clear (enfin t'as capté, supprime pas l'ancienne mémoire non plus)
Funtion set(liste Any)
Foreach item in liste
...
Task:
Foreach list in list1
Set(liste)
Delay

On pourra utiliser une certaine classe avec 2 fields :
Any
Type
Pour faciliter l'implémentation

When isOpen == true

On update tout(control, temp, fan)
Et on envoie toute les delay second, avec la fonction grpc propre

TODO

  • find a method to handle custom temp
  • find a method to generate unique id(Long or Int) from an unique string

Installation guide for linux

Describe your suggested feature

Awesome project for linux! But I'm a linux newbie,can you give an installation guide? Thanks!

Other details

No response

ExecutionPolicy

Steps to reproduce

Could execute a script

Expected behavior

could

Actual behavior

could not

LibreFanControl version

1.0.3

Operative System

Windows

Other details

ExecutionPolicy
https://learn.microsoft.com/fr-fr/powershell/module/microsoft.powershell.core/about/about_execution_policies?view=powershell-7.3
default on win 10 pro
Set-ExecutionPolicy -ExecutionPolicy Restricted
fix
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

Acknowledgements

  • I have searched the existing issues and this is a new ticket, NOT a duplicate or related to another open issue.
  • I have written a short but informative title.
  • I will fill out all of the requested information in this form.

Naming

Hi,

I'm the author of FanControl.

Cool project. I got no issue with the project itself, I think you got very good inspirations 😉.
Only thing, please use "Libre Fan Control" in the naming everywhere in the program, or whatever other name you like really, just to be consistent with this repo name, and to avoid conflict with the "original" Fan Control.

Thank you and good luck on the project.

Service life-cycle

  • implementer la class ServiceBase
  • configurer le service pour qu'il démarre automatiquement lorsque le système démarre et pour qu'il redémarre automatiquement en cas d'échec. Pour ce faire, vous devez ajouter des clés de registre appropriées à votre service.
  • Dans l'installer, vous pouvez ajouter des clés de registre pour configurer le démarrage automatique de votre service, ainsi que pour stocker des informations sur la configuration de votre service.
  • utiliser IPC
  • Si l'app est lancée -> verifie si le service est en cours d'exécution
  • l'application peut lancer le service à l'aide du mécanisme de communication IPC. (ou start service)
  • BackgroundService

service error

Maybe repack application with release configuration and see if it works

Also, need to sign the package because it can cause problem:

default on win 10 pro
Set-ExecutionPolicy -ExecutionPolicy Restricted
fix
Set-ExecutionPolicy -ExecutionPolicy RemoteSigned

need to install:
You need to install the ASP.NET Core 7.0 Runtime to run the background service

create_release workflow

Steps to reproduce

log:

Unable to find an artifact with the name: LibreFanControl*.tar.gz

actual name: LibreFanControl.tar.gz
maybe it doesn't support wilcard

Expected behavior

No response

Actual behavior

No response

LibreFanControl version

No response

Operative System

None

Other details

No response

"install service" crashes program on windows 7

Steps to reproduce

did all the steps previously mentioned in "issues"

Expected behavior

No response

Actual behavior

No response

LibreFanControl version

No response

Operative System

None

Other details

No response

create release workflow

Steps to reproduce

use the content of the previous release + wrong tag (with the v in it)

Expected behavior

No response

Actual behavior

No response

LibreFanControl version

No response

Operative System

None

Other details

No response

Program not working

Steps to reproduce

Programs like Coolero (Flatpak) and Fancontrol-gui (AUR) are able to detect and control fans and temps but running this program launches and only gives me

Error: can't open, service status = UNAVAILABLE

Expected behavior

No response

Actual behavior

No response

LibreFanControl version

Latest

Operative System

Linux

Other details

No response

proto lib

dependence pour grpc:

sign app

Describe your suggested feature

No response

Other details

No response

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.