Skip to main content

BLE client for Solem BL-IP irrigation controllers

Project description

solem-blip-ble

Python library for the Solem BL-IP Bluetooth irrigation controller.

Protocol sources

Layer Source
Commands (turn on/off, sprinkle, stop, commit) pcman75/solem-blip-reverse-engineering — GATT write 108b0002-..., frame 3105 … + 3b00
Status polling (notify, seq 0x02, active station, remaining time, battery) Live BL-IP V5 hardware validation and capture-backed regression tests; see docs/ble_protocol.md

Turn-off-for-N-days is capped at 15 days per the pcman75 documentation.

Install

pip install solem-blip-ble
# or from GitHub:
pip install "solem-blip-ble @ git+https://github.com/beelzetron/solem-blip-ble.git@main"
# or editable for development:
pip install -e ".[dev]"

CI/CD

  • CI: GitHub Actions runs tests (Python 3.11–3.13) and verifies the package builds on every push/PR to main.
  • CD: Creating a GitHub Release publishes the package to PyPI via trusted publishing.

Configure PyPI trusted publishing for this repository: PyPI project → Publishing → Add GitHub Actions publisher (beelzetron/solem-blip-ble, workflow publish.yml, environment pypi).

Usage

from solem_blip_ble import SolemClient, SolemConnectionError

client = SolemClient("AA:BB:CC:DD:EE:FF", bluetooth_timeout=30)
await client.connect()
status = await client.get_status()
await client.sprinkle_station_x_for_y_minutes(1, 5)
await client.stop_manual_sprinkle()
await client.disconnect()

Documentation

Full BLE protocol notes: docs/ble_protocol.md

Validation CLI

The packaged debug tool is the single supported raw capture path:

validate-solem-blip AA:BB:CC:DD:EE:FF --capture --verbose
validate-solem-blip AA:BB:CC:DD:EE:FF --capture --only status
validate-solem-blip AA:BB:CC:DD:EE:FF --capture-off-days 3 --verbose
validate-solem-blip AA:BB:CC:DD:EE:FF --replay btsnoop/captures/capture.jsonl

Regression tests also replay public capture-backed fixtures for V5 firmware, station names, status, and persisted irrigation schedule parsing.

Home Assistant

Used by the Solem BL-IP for Home Assistant integration (HACS).

Credits

Thanks to pcman75 for the original Solem BL-IP command reverse engineering.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

solem_blip_ble-0.1.36.tar.gz (42.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

solem_blip_ble-0.1.36-py3-none-any.whl (33.1 kB view details)

Uploaded Python 3

File details

Details for the file solem_blip_ble-0.1.36.tar.gz.

File metadata

  • Download URL: solem_blip_ble-0.1.36.tar.gz
  • Upload date:
  • Size: 42.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for solem_blip_ble-0.1.36.tar.gz
Algorithm Hash digest
SHA256 ec77bee104a9437e0d1fe17d29236dee24ee9f8fd9ae1ddb3bcdc822c86141e3
MD5 954140e84ac2a7850b45286c1a914d23
BLAKE2b-256 960d9dfaa771c4edc47de88e0b8aa8f3baad156a68e36a5e41e80ba20f6eda05

See more details on using hashes here.

Provenance

The following attestation bundles were made for solem_blip_ble-0.1.36.tar.gz:

Publisher: publish.yml on beelzetron/solem-blip-ble

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file solem_blip_ble-0.1.36-py3-none-any.whl.

File metadata

  • Download URL: solem_blip_ble-0.1.36-py3-none-any.whl
  • Upload date:
  • Size: 33.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for solem_blip_ble-0.1.36-py3-none-any.whl
Algorithm Hash digest
SHA256 eed5cebc8053d50b34ea67a73aa895e6d3bd3c092400714000b420aeae3a278c
MD5 5bb18a99f3fdfa2c34058bbf228460af
BLAKE2b-256 cc5e916a387a0c4674a8a195be19120d200cdfe26ae970017c4690cca45be268

See more details on using hashes here.

Provenance

The following attestation bundles were made for solem_blip_ble-0.1.36-py3-none-any.whl:

Publisher: publish.yml on beelzetron/solem-blip-ble

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page