petersulyok / smfc

Super Micro Fan Control
GNU General Public License v3.0
188 stars 15 forks source link

Feature Request: interactive setup CLI #13

Open emansom opened 1 year ago

emansom commented 1 year ago

To address #8 and #12, as well as streamline the process of setting up zones, configuring hd_names it would help if there would be an interactive setup CLI.

This setup CLI would then prompt a few questions:

$ sfmc-config
f) assign fan to zone
u) set ULNA state of fan
c) create zone
z) configure zone
> c
Name of zone:
> CPU
Zone 'CPU' created.
f) assign fan to zone
u) set ULNA state of fan
c) create zone
z) configure zone
> c
Name of zone:
> Case
Zone 'Case' created.
f) assign fan to zone
u) set ULNA state of fan
c) create zone
z) configure zone
> f
Which fan?
Fans available: [FAN1, FAN2]
> FAN1
Which zone to assign to this fan?
Zones available: [CPU, Case]
> CPU
Fan 'FAN1' assigned to zone 'CPU'
f) assign fan to zone
u) set ULNA state of fan
c) create zone
z) configure zone
> f
Which fan?
Fans available: [FAN1, FAN2]
> FAN2
Which zone to assign to this fan?
Zones available: [CPU, Case]
> Case
Fan 'FAN2' assigned to zone 'Case'
f) assign fan to zone
u) set ULNA state of fan
c) create zone
z) configure zone
> u
Ultra Low Noise Adapter state
Which fan to configure?
Fans available: [FAN1, FAN2]
> FAN1
Fan 'FAN1' selected.
Currently ULNA state is disabled.
Enable this if you are using an ULNA adapter.
Toggle state to enabled? Y/n
> y
ULNA state enabled for fan 'FAN1'.
) assign fan to zone
u) set ULNA state of fan
c) create zone
z) configure zone
> u
Ultra Low Noise Adapter state
Which fan to configure?
Fans available: [FAN1, FAN2]
> FAN2
Fan 'FAN2' selected.
Currently ULNA state is disabled.
Enable this if you are using an ULNA adapter.
Toggle state to enabled? Y/n
> y
ULNA state enabled for fan 'FAN2'.
petersulyok commented 1 year ago

See my comment on issue #11