[gpm] Re: ideas for a new UPS infrastructure
- From: Richard Hughes <hughsient gmail com>
- To: Stanislav Brabec <sbrabec suse cz>
- Cc: GnomePowerManager List <gnome-power-manager-list gnome org>, Arnaud Quette <aquette dev gmail com>, Richard Hughes <richard hughsie com>, Arjen de Korte <nut+devel de-korte org>
- Subject: [gpm] Re: ideas for a new UPS infrastructure
- Date: Fri, 10 Mar 2006 00:29:36 +0000
On Fri, 2006-03-10 at 01:11 +0100, Stanislav Brabec wrote:
> Hallo NUT developers.
adding in g-p-m devel as a cc.
> In last days, I have learned a much about UPSes, NUT, udev, HAL and
> D-BUS, powermanager and found some ideas for a new design of NUT.
>
> My original question was: How to inform desktop users about failing
> power.
>
> The research shows, that there are two disconnected infrastructures -
> one is NUT, second is powermanager. One was originally designed for UPS
> management, second was originally designed for power management of
> notebooks, but later was extended with a basic UPS support.
Well, to be strictly true, gnome-power-manager supports classes of
devices of type battery, so we can apply user policy on power state and
power events.
> There is a short summary, what is the current status (it can be
> inaccurate). At the end I will show my idea of future NUT and
> powermanager improvements.
I think this is very required, and thanks for bringing this to issue.
> Don't ask me for details, I don't know more. But I am Ccing this mail to
> the gnome-power-manager developer, who can say you more about
> powermanager.
>
> Duplicated parts of code:
> - shutdown policy
> - battery policy
> - USB HID UPS support
> - udev stuff
> - user alerts
>
> Only in NUT:
> - network UPS support
> - more UPSes, more machines policy
> - advanced UPS manipulation (temperature, voltage, EEPROM programming?)
> http://www.networkupstools.org/features/
Yes, this can be trivially added to HAL as device properties, such as
ups.temperature (int) and battery.voltage (int) and as methods such as
TurnOffTheBeepySound(bool) :-)
> Only in power manager:
> - integration with power management (ACPI, processor speed, suspend on
> idle...)
> - desktop power management (client applications can initiate shutdown)
Yes, it integrates all the power infrastructure so that it's cross
desktop, and "just works" out of the box.
> Powermanager does:
>
> udev detects nev USB HID device
>
> HAL analyzes it, recognizes it as HID UPS, starts hald-addon-hid-ups,
> adds UPS to list of know devices
>
> hald-addon-hid-ups send signals to HAL
>
> HAL sends signals to D-BUS
>
> Desktop client listen and sends signals to D-BUS and display messages
And apply policy....
> Power manager listens and sends signals to D-BUS and decides about ACPI
> changes, suspending, alerts or shutting down.
>
>
> Proposal for NUT:
>
> udev provides info about autodetectable UPSes and HAL starts enhanced
> hald-addon-hid-ups (which will contain all features of hidups)
Yes, there was talk of this some time back to add methods such as
TurnOffTheBeepySound() and add advanced properties like temperature.
This is pretty trivial to do in the existing addon.
> upsdrvctl-hald-addon reads configuration and starts not detectable
> drivers for current UPS and provides HAL device
Yes, using FDI files you can launch addons. Thats how the existing addon
is launched.
> upsd-network-hald-addon listens to network UPSes and provides HAL device
>
> upsmon listens to D-BUS and provides interface for grafical old
> fashioned NUT clients
I'm not sure how to integrate network UPS's into the current HAL
framework, as hardware not attached to the computer is sort of anti-HAL.
> Proposal for powermanager:
>
> Desktop clients must support more UPSes
>
> Power manager must implement advanced UPS logic from upsmon (how many
> UPSes must be running, signalling networked computers to shutdown,...)
Yes, g-p-m needs to do more for UPS. I'm considering a "Running on UPS"
tab in the preferences so we can assign things like emailing the admin,
and running arbitrary scripts, having options such as:
[x] Beep when on UPS.
But I guess other people might have better ideas.
Richard.
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]