Debian auf Notebooks und speziellen Geräten wie eingebetteten Systemen, Routern, Set-Top-Boxen, ...
-
thinkofant
- Beiträge: 103
- Registriert: 06.11.2021 21:56:52
Beitrag
von thinkofant » 17.05.2024 22:42:53
Nabend Forum
Gerade kam es wieder dazu: Klappi läuft auf Akku, ich schaue einen Film, Akku leer -> Maschine aus.
Finde ich natürlich nicht ersprießlich...wo bekomme ich eine "Akkubimmel" her?
Wie im Titel erwähnt läuft hier sid und awesomewm.
Danke im voraus für alle hilfreichen Denkansätze
1/137
Signaturen sind wie frische Pilze, denn frische Pilze.....

-
TRex
- Moderator
- Beiträge: 8417
- Registriert: 23.11.2006 12:23:54
- Wohnort: KA
Beitrag
von TRex » 17.05.2024 22:56:58
Das hängt natürlich von deinem Akku ab, wie oft du das laufen lassen musst... und möglicherweise gibts noch Hooks oder sowas, aber meine awesomewm-Installation auf nem thinkpad enthält das hier:
in cron, und batcheck:
Code: Alles auswählen
#!/bin/bash
MIN_BAT_VALUE=10
[[ "Charging" != "$(cat /sys/class/power_supply/BAT0/status)" ]] && [[ ${MIN_BAT_VALUE} -gt $(cat /sys/class/power_supply/BAT0/capacity) ]] && (
amixer sget Master | grep -Pq "Mono.*on\]"
master_on=$?
[[ "${master_on}" -eq "0" ]] || amixer sset Master on
beep -f 100 -r 3
beep -deb
[[ "${master_on}" -eq "0" ]] || amixer sset Master off
)
Edit: weil du speziell nach awesomewm gefragt hast: du könntest natürlich auch ein Widget damit bauen... aber sehen würde man es eh nicht, wenns drauf ankommt (den %Wert anzeigen ist ja n Kinderspiel) und ich finde unabhängige Lösungen ganz nett.
-
dasebastian
- Beiträge: 2203
- Registriert: 12.07.2020 11:21:17
Beitrag
von dasebastian » 18.05.2024 09:25:18
Hier läuft auch
awesome, ich habe dazu ganz was Rudimentäres:
Ein Skript, ich nenne es mal ~/pfad/zum/akkuwarner
Code: Alles auswählen
#!/bin/bash
while true
do
akkustatus=`acpi -b | grep -P -o 'Discharging'`
akkulevel=`acpi -b | grep -P -o '[0-9]+(?=%)'`
if [[ "$akkustatus" = "Discharging" && $akkulevel -le 20 ]]; then
notify-send --urgency=CRITICAL -i /usr/share/icons/simply-white-circles/scalable/panel/battery-caution-charging.svg "Hab keine Power in mein Akku!" "${akkulevel}%, Baby leih mir dein Lader.\n<b>Ich brauch mehr Strom!</b>"
fi
sleep 5m
done
In meiner .xinitrc gibt's dann den Eintrag:
Damit kriege ich per notify-send eine Warnung, wenn der Akku unter 20% fällt UND der Laptop NICHT am Netz hängt. Abgefragt wird - wie unschwer zu erkennen - alle 5 Minuten.
Der halbidiotische Text ist eine kleine Verbeugung vor der österreichischen Band Bilderbuch.
-
thinkofant
- Beiträge: 103
- Registriert: 06.11.2021 21:56:52
Beitrag
von thinkofant » 18.05.2024 10:08:15
Tag die Herren
Soooo lieb ich das! Simple Lösungen für simple Probleme - habt großen Dank!
Werde beides mal ausprobieren und berichten!
Grüße
Fant

Signaturen sind wie frische Pilze, denn frische Pilze.....

-
thinkofant
- Beiträge: 103
- Registriert: 06.11.2021 21:56:52
Beitrag
von thinkofant » 18.05.2024 11:01:55
Hallöchen!
Im Nachgang: Es muss eine Bimmel her! Nur notify-send tut's mir nicht weil es keine akustische Warnung raushaut.
Ich erinnere mich an Spielereien damit, welche aber dann darin endeten dass meine Benachrichtigung gesendet wurde, ich sie aber nur mit Glück sah und nie hörte!
Da ich als Thinkpad-Nutzer (T400/T60/T61) sogar ein Akku-Lichtlein am Display habe, dieses aber bei spannendem Filmkonsum nicht im Auge behalte

fehlt die Klingel.

Signaturen sind wie frische Pilze, denn frische Pilze.....

-
TRex
- Moderator
- Beiträge: 8417
- Registriert: 23.11.2006 12:23:54
- Wohnort: KA
Beitrag
von TRex » 18.05.2024 13:02:18
Kombinier die beiden Scripte doch.
-
thinkofant
- Beiträge: 103
- Registriert: 06.11.2021 21:56:52
Beitrag
von thinkofant » 18.05.2024 21:54:50
Hallo abgekürzter Könich der Aasfresser
Dafür bin ich - im Wortsinne - zu dumm
Bitte hilf mir mit einem kompletten Script aufs Pferd.....
UND;
fette mir wo ich die Bimmel selbst gefunden hätte.
@dasebastian immer schön dich hier zu lesen, deine Beiträge habe mir schon oft den Weg ans Licht gezeigt

Signaturen sind wie frische Pilze, denn frische Pilze.....

-
Livingston
- Beiträge: 1816
- Registriert: 04.02.2007 22:52:25
- Lizenz eigener Beiträge: MIT Lizenz
- Wohnort: 127.0.0.1
Beitrag
von Livingston » 19.05.2024 00:21:17
Code: Alles auswählen
#!/bin/bash
while true
do
akkustatus=`acpi -b | grep -P -o 'Discharging'`
akkulevel=`acpi -b | grep -P -o '[0-9]+(?=%)'`
if [[ "$akkustatus" = "Discharging" && $akkulevel -le 20 ]]; then
notify-send --urgency=CRITICAL -i /usr/share/icons/simply-white-circles/scalable/panel/battery-caution-charging.svg "Hab keine Power in mein Akku!" "${akkulevel}%, Baby leih mir dein Lader.\n<b>Ich brauch mehr Strom!</b>"
beep -f 100 -r 3 # <--- DA IST DAS PFERD!
fi
sleep 5m
done
Der Hauptunterschied zwischen etwas, was möglicherweise kaputtgehen könnte und etwas, was unmöglich kaputtgehen kann, besteht darin, dass sich bei allem, was unmöglich kaputtgehen kann, falls es doch kaputtgeht, normalerweise herausstellt, dass es unmöglich zerlegt oder repariert werden kann.
Douglas Adams
-
thinkofant
- Beiträge: 103
- Registriert: 06.11.2021 21:56:52
Beitrag
von thinkofant » 19.05.2024 00:48:52
beep -f 100 -r 3 # <--- DA IST DAS PFERD!
DANKE!!!!
Ich werde berichten....aber erst morgen, der thinkofanten-Aggu ist nämlich auch leer

Nacht, Meine Herren

Signaturen sind wie frische Pilze, denn frische Pilze.....

-
tobo
- Beiträge: 2523
- Registriert: 10.12.2008 10:51:41
Beitrag
von tobo » 19.05.2024 00:58:26
Vom Konzept der Wiederholung her kann man noch einen anderen Ansatz wählen - schleifenlos und ohne sleep, dafür x-minütlich aufgerufen im Cron. Auch würde ich eine acpi-Lösung vor einer /sys/class/power_supply/-Abfrage inzwischen vorziehen. Ich hatte mit /sys/class/power_supply/-Abfragen nach suspends häufiger Ausleseprobleme, die mit acpi schlicht nicht auftreten. Was die Intervallzeit angeht, da muss man das an die eigene Hardware anpassen. Ein Laptop von mir hat z.B. einen sprunghaften Kapazitätsabstieg (23,22,21,7,6...) und damit laufen die Abfragen hier überall minütlich...
PS: Beep ist in >=Bullseye gar nicht mehr so trivial einzurichten. Zumindest auf Systemd-befreiten Systemen...
-
dasebastian
- Beiträge: 2203
- Registriert: 12.07.2020 11:21:17
Beitrag
von dasebastian » 20.05.2024 09:09:12
thinkofant hat geschrieben: 
18.05.2024 21:54:50
... schon oft den Weg ans Licht gezeigt
Holymoly!!
tobo hat geschrieben: 
19.05.2024 00:58:26
Beep ist in >=Bullseye gar nicht mehr so trivial einzurichten.
Wäre bei mir hier nur ein Paket, zieht das so viele Abhängigkeiten mit sich?!
-
dasebastian
- Beiträge: 2203
- Registriert: 12.07.2020 11:21:17
Beitrag
von dasebastian » 20.05.2024 14:28:50
thinkofant hat geschrieben: 
19.05.2024 00:48:52
Ich werde berichten....
Kurzer Nachtrag noch meinerseits, ich hoffe, du hast gesehen, dass in meinem Script noch auf ein bestimmtes Icon-Set verwiesen wird:
Code: Alles auswählen
notify-send --urgency=CRITICAL -i /usr/share/icons/simply-white-circles/scalable/panel/battery-caution-charging.svg ......"
Das solltest du bei dir natürlich raustun, du kannst schlicht die Option
-i weglassen, dann wird der Standard für Dringlichkeit "Kritisch" verwendet.
-
hikaru
- Moderator
- Beiträge: 14038
- Registriert: 09.04.2008 12:48:59
Beitrag
von hikaru » 21.05.2024 09:48:47
tobo hat geschrieben: 
19.05.2024 00:58:26
Auch würde ich eine acpi-Lösung vor einer /sys/class/power_supply/-Abfrage inzwischen vorziehen. Ich hatte mit /sys/class/power_supply/-Abfragen nach suspends häufiger Ausleseprobleme, die mit acpi schlicht nicht auftreten.
Kannst du das bitte näher ausführen? Welche Probleme hattest du hier beim Auslesen?
-
tobo
- Beiträge: 2523
- Registriert: 10.12.2008 10:51:41
Beitrag
von tobo » 21.05.2024 16:42:21
In einem Skript, welches per Cron minütlich lief, stand in etwa so was:
Code: Alles auswählen
BAT_REMAIN=$(cat /sys/class/power_supply/BAT0/capacity)
... && [ "$BAT_REMAIN" -le "$CRITICAL_THRESHOLD" ] && ...
Alle 1-2 Monate passierte es mal - und zwar grundsätzlich nach einem Suspend - dass dieses Auslesen von capacity "offensichtlich scheiterte", deshalb kein Wert in $BAT_REMAIN vorhanden war und darum
Code: Alles auswählen
$ [ "" -le 20 ]
-bash: [: : integer expression expected
$
ausgewertet wurde, woraufhin Cron mir eine Fehler-E-Mail schickte. Also extrem sporadisch und schlecht nachzuvollziehen. Und obwohl acpi ebenfalls auf die Daten unter /sys zugreift, läuft es mit
reibungslos.
-
hikaru
- Moderator
- Beiträge: 14038
- Registriert: 09.04.2008 12:48:59
Beitrag
von hikaru » 21.05.2024 16:48:59
tobo hat geschrieben: 
21.05.2024 16:42:21
Auslesen von capacity "offensichtlich scheiterte"
Aber die wahre Ursache kennst du nicht, oder?
Ich weiß nicht genau, wie diese virtuellen Dateisysteme funktionieren, aber wäre es eine reguläre Datei, dann würde ich vermuten, dass es in diesen Fällen zu einer Race-Condition kam, als du die Datei lesen wolltest, während sie gerade aktualisiert wurde.
-
tobo
- Beiträge: 2523
- Registriert: 10.12.2008 10:51:41
Beitrag
von tobo » 21.05.2024 17:09:43
Die wahre Ursache kenne ich nicht. Ich habe aber ebenfalls an Race-Conditions gedacht und habe deshalb den Wert in einer (Zähl-)Schleife ausgelesen (falls kein Wert, dann bis zu 5x nach jeweils 1 Sekunde) und das funktionierte dann auch, bis nach 3,4 Monaten irgendwann wieder eine Fehler-E-Mail kam. Und dann habe ich direkt und ohne Blick nach hinten auf ACPI umgestellt. Im Grunde hat das ja keine System-Relevanz, aber ohne wirklichen Plan und mit einem frickeligen Aufbau - das ist irgendwie nichts...