Prime Power Bank 20k 220w
- class SolixBLE.PrimePowerBank20k(ble_device: BLEDevice)
Anker Prime Power Bank 20k (220w) model.
Use this class to connect and monitor the 220w power bank. This model is also known as the A110B.
- __init__(ble_device: BLEDevice) None
Initialise device object. Does not connect automatically.
- add_callback(function: Callable[[], None]) None
Register a callback to be run on state updates.
Triggers include changes to pretty much anything, including, battery percentage, output power, solar, connection status, etc.
- Parameters:
function – Function to run on state changes.
- async connect(max_attempts: int = 3, run_callbacks: bool = True) bool
Connect to device.
This will connect to the device, determine if it is supported and subscribe to status updates, returning True if successful.
- Parameters:
max_attempts – Maximum number of attempts to try to connect (default=3).
run_callbacks – Execute registered callbacks on successful connection (default=True).
- async disconnect() None
Disconnect from device and reset internal state.
Disconnects from device, resets internal state, including connection attempts, cancels the automatic reconnection task and will not execute state changes callbacks.
- remove_callback(function: Callable[[], None]) None
Remove a registered state change callback.
- Parameters:
function – Function to remove from callbacks.
- Raises:
ValueError – If callback does not exist.
- property address: str
MAC address of device.
- Returns:
The Bluetooth MAC address of the device.
- property available: bool
Connected to device and data is available.
- Returns:
True/False if the device is connected and sending telemetry.
- property battery_percentage: int
Battery Percentage.
- Returns:
Percentage charge of battery or default int value.
- property connected: bool
Connected to device.
This does not mean that an encrypted connection has been established or that any data values have been populated, use the available property to determine that.
- Returns:
True/False if connected to device.
- property last_update: datetime | None
Timestamp of last telemetry data update from device.
- Returns:
Timestamp of last update or None.
- property name: str
Bluetooth name of the device.
- Returns:
The name of the device or default string value.
- property negotiated: bool
Has an encrypted session been successfully negotiated.
This does not mean that any data values have been populated, use the available property to determine that.
- Returns:
True/False if session has been negotiated and connected.
- property power_out: int
Total Power Out.
- Returns:
Total power out or default int value.
- property temperature: int
Temperature of the unit (C).
- Returns:
Temperature of the unit in degrees C.
- property usb_a1_current: float
USB A1 Port current (A).
- Returns:
Current of the USB A1 port or default float value.
- property usb_a1_power: float
USB A1 Port power (W).
- Returns:
Power of the USB A1 port or default float value.
- property usb_a1_voltage: float
USB A1 Port voltage (V).
- Returns:
Voltage of the USB A1 port or default float value.
- property usb_c1_current: float
USB C1 Port current (A).
- Returns:
Current of the USB C1 port or default float value.
- property usb_c1_power: float
USB C1 Port power (W).
Important
There appears to be a firmware bug in the power bank which causes the value of USB C1 power to latch to whatever its last value was when unplugged, this does not happen with USB C2 power for some reason. This has been observed on version v1.6.0.5.
- Returns:
Power of the USB C1 port or default float value.
- property usb_c1_voltage: float
USB C1 Port voltage (V).
- Returns:
Voltage of the USB C1 port or default float value.
- property usb_c2_current: float
USB C2 Port current (A).
- Returns:
Current of the USB C2 port or default float value.
- property usb_c2_power: float
USB C2 Port power (W).
- Returns:
Power of the USB C2 port or default float value.
- property usb_c2_voltage: float
USB C2 Port voltage (V).
- Returns:
Voltage of the USB C2 port or default float value.
- property usb_port_a1: PortStatus
USB A1 Port Status.
- Returns:
Status of the USB A1 port.
- property usb_port_c1: PortStatus
USB C1 Port Status.
- Returns:
Status of the USB C1 port.
- property usb_port_c2: PortStatus
USB C2 Port Status.
- Returns:
Status of the USB C2 port.