OK, tedy "to nejde" si nahraďte "velmi pravděpodobně narazíte na potíže".
Neuvedl jste typ ntb. ani OS. Obecně lze říct, že při SW řešení byste mohl mít větší úspěch v linuxu (
TLP).
Plně HW řešení, které by bylo univerzální víceméně neexistuje. Teoreticky byste mohl využít chytrou zásuvku s připojením do lokální sítě a řídit její propustnost na základně úrovně baterie v notebooku.
Například Shelly Plug S nativně umí HTTP-Request, tedy lze funkce volat takto:
- Kód: Vybrat vše
http://192.168.xxx.xxx/relay/0?turn=on
http://192.168.xxx.xxx/relay/0?turn=off
http://192.168.xxx.xxx/relay/0?turn=toggle
Ve Windows pak můžete vytvořit PowerShell skript zhruba této podoby:
- Kód: Vybrat vše
# IP adresa zásuvky
$zasuvka = "192.168.1.100"
# URL příkazy pro zapnutí/vypnutí
$onURL = "http://$zasuvka/relay/0?turn=on"
$offURL = "http://$zasuvka/relay/0?turn=off"
# Nastavení limitů
$minimum = 30
$maximum = 80
# Smyčka
while ($true) {
try {
# Stav baterie
$battery = Get-WmiObject -Class Win32_Battery
$charge = $battery.EstimatedChargeRemaining
Write-Host "$(Get-Date): Úroveň baterie je: $charge%"
if ($charge -le $minimum) {
Write-Host "Zapnuto"
Invoke-WebRequest -Uri $onURL -UseBasicParsing
}
elseif ($charge -ge $maximum) {
Write-Host "Vypnuto"
Invoke-WebRequest -Uri $offURL -UseBasicParsing
}
} catch {
Write-Host "Chyba: $_"
}
# Kontrola každou minutu
Start-Sleep -Seconds 60
}
Script uložte třeba jako limity_nabijeni.ps1 a přes Plánovač úloh jej spusťte po startu OS.
Ručně jej (v umístění souboru) spustíte takto:
- Kód: Vybrat vše
powershell -ExecutionPolicy Bypass -File limity_nabijeni.ps1
Script si můžete upravit dále, například pro kontrolu SSID, kdy zásuvka bude jen doma a pokud bude notebook připojen k jiné WiFi, pak se nebude pokoušet upravovat nabíjení a volat zásuvku. Případně přes kabel lze na zásuvku nejprve PINGnout.
A na jakékoliv úpravy přímo napájecí cesty rovnou zapomeňte.