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.35.tar.gz (42.2 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.35-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: solem_blip_ble-0.1.35.tar.gz
  • Upload date:
  • Size: 42.2 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.35.tar.gz
Algorithm Hash digest
SHA256 0c7cd943e73eb62156973c9fcacd2716efea2d6587373e99869ac62ea4ba2cf1
MD5 3a28244604bed307c979a22b388fef0a
BLAKE2b-256 1d192d849265481af63aa483dab5cb83fddbda96e5b984e148d766a25561a4a5

See more details on using hashes here.

Provenance

The following attestation bundles were made for solem_blip_ble-0.1.35.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.35-py3-none-any.whl.

File metadata

  • Download URL: solem_blip_ble-0.1.35-py3-none-any.whl
  • Upload date:
  • Size: 32.7 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.35-py3-none-any.whl
Algorithm Hash digest
SHA256 5d4965839cbc617858acee5676240c72505e8aa052d9ad5eb5f3db9c2b2e6669
MD5 02fe571f378725ffa93b5b96b13bdfb5
BLAKE2b-256 296c125bbe8e73c2016e3072d4c580e185a1d3a9363cf3c7fd5ee97ab57e36bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for solem_blip_ble-0.1.35-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