# nabijeni.sh
#!/bin/bash
# Získání hodnot z ioreg
AMP_HEX=$(ioreg -r -n AppleSmartBattery | grep '"Amperage"' | awk '{print $3}')
# Převod amperáže na signed číslo
AMP=$(perl -e "print unpack('q', pack('Q', $AMP_HEX));")
# Vstupní řádek (můžeš ho sem vložit nebo načítat z ioreg automaticky)
DATA=$(ioreg -r -n AppleSmartBattery)
# 🔌 CHARGER DATA
extract_charger() {
echo "$DATA" | sed -nE "s/.*\"$1\"=([0-9]+).*/\1/p"
}
CURRENT=$(extract_charger "ChargingCurrent") # mA
VOLTAGE=$(extract_charger "ChargingVoltage") # mV
VACLIMIT=$(extract_charger "VacVoltageLimit") # mV
CHARGER_ID=$(extract_charger "ChargerID")
REASON=$(extract_charger "NotChargingReason")
RESET_COUNT=$(extract_charger "ChargerResetCounter")
extract_adapter() {
echo "$DATA" | sed -nE "s/.*\"$1\"=([^,}]*)[,}].*/\1/p" | head -n 1
}
ADAPTER_ID=$(extract_adapter "AdapterID")
ADAPTER_VOLTS=$(extract_adapter "AdapterVoltage") # mV
ADAPTER_CURRENT=$(extract_adapter "Current") # mA
ADAPTER_WATTS=$(extract_adapter "Watts")
ADAPTER_DESCRIPTION=$(extract_adapter "Description")
IS_WIRELESS=$(extract_adapter "IsWireless")
if [[ -n "$ADAPTER_VOLTS" && -n "$ADAPTER_CURRENT" ]]; then
# Odstraň whitespaces a nové řádky
VOLTS_CLEAN=$(echo "$ADAPTER_VOLTS" | tr -d '[:space:]')
CURRENT_CLEAN=$(echo "$ADAPTER_CURRENT" | tr -d '[:space:]')
CALC_WATTS=$(awk -v v="$VOLTS_CLEAN" -v c="$CURRENT_CLEAN" 'BEGIN { printf "v=%.2f V, c=%.2f A, w=%.2f",v/1000,c/1000, (v * c) / 1000000 }')
else
CALC_WATTS="N/A"
fi
# 🖨️ VÝPIS
clear
echo "🔋 CHARGER DATA:"
echo " 🔌 Charging Current: $CURRENT mA"
echo " 🔋 Charging Voltage: $VOLTAGE mV"
#echo " ⚡ Charging Power: $WATTS W"
echo " 🔧 Charger ID: $CHARGER_ID"
echo " ⛔ Not Charging Reason: $REASON"
echo " 🔁 Reset Counter: $RESET_COUNT"
echo ""
echo "🔌 ADAPTER DETAILS:"
echo " 🆔 Adapter ID: $ADAPTER_ID"
echo " 🧱 Description: $ADAPTER_DESCRIPTION"
#echo " 🔋 Max. voltage: $ADAPTER_VOLTS mV"
#echo " 🔌 Max. current: $ADAPTER_CURRENT mA"
echo " ⚡ Reported Power: $ADAPTER_WATTS W"
echo " ⚙️ Computed Power: $CALC_WATTS W"
echo " 📡 Wireless?: $IS_WIRELESS"
echo "🔌 Battery Amperage: $AMP mA"
Pro příkaz "watch" je ho potřeba nejdřív instalovat:
/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"
cd
echo >> .zprofile
echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> -zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"
A pak už stačí jen:
watch ./nabijeni.sh
Žádné komentáře:
Okomentovat