Metadata-Version: 2.4
Name: pigsydust
Version: 0.1.9
Summary: Python library for controlling SAL Pixie BLE mesh wall switches
Author: Tim Slater
License-Expression: MIT
Requires-Python: >=3.11
Requires-Dist: bleak-retry-connector>=3.0
Requires-Dist: bleak>=0.21
Requires-Dist: pycryptodome>=3.19
Provides-Extra: dev
Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
Requires-Dist: pytest>=8.0; extra == 'dev'
Description-Content-Type: text/markdown

# pigsydust

Python library for controlling SAL Pixie BLE mesh wall switches.

## Installation

```
pip install pigsydust
```

## Quick Start

```python
import asyncio
from pigsydust import PixieClient

async def main():
    client = PixieClient("AA:BB:CC:DD:EE:FF")
    await client.connect()
    await client.login("Smart Light", "12345678")

    await client.turn_on(0x0001)

    status = await client.query_status()
    for addr, ds in status.items():
        print(f"Device {addr}: {'ON' if ds.is_on else 'OFF'}")

    await client.disconnect()

asyncio.run(main())
```

## Protocol Reference

See [PROTOCOL-REFERENCE.md](https://github.com/tcslater/pigsydust/blob/main/docs/PROTOCOL-REFERENCE.md) in the Go library repo for full documentation of the Telink mesh BLE protocol — GATT characteristics, authentication, encryption, opcodes, and notification formats.
