Skip to main content

A small python library for discovery and interacting with Melnor, Eden, etc Bluetooth water timers.

Project description

Melnor Bluetooth

PyPI Codecov branch GitHub Workflow Status (branch) PyPI - Downloads

Melnor Bluetooth is a reverse engineered implementation of the Bluetooth protocol for all "smart" bluetooth-enabled watering valves under the Melnor, EcoAquastar, Eden, and other brands.

The library should run on MacOS, Linux, or Windows. It's primarily developed on MacOS and other platforms likely have bugs. PRs and tests are welcome to improve quality across all platforms.

Getting Started

CLI

A simple CLI has been provided for basic debugging purposes. It's not intended for any real use and isn't suitable for running a valve in the real world.

This project uses poetry for dependency management and building. Running this project locally is as simple as the following steps:

  1. Clone the repository
  2. poetry install
  3. poetry run cli.py

The python API has been designed to be as easy to use as possible. A few examples are provided below:

Read battery state

import asyncio

from melnor_bluetooth.constants import BATTERY_UUID
from melnor_bluetooth.device import Device

address = '00:00:00:00:00' # fill with your device mac address

async def main():
  device = Device(address)
  await device.connect()

  print(device.battery_life);

  await device.disconnect();

asyncio.run(main())

Turn on a zone

import asyncio

from melnor_bluetooth.device import Device

address = "00:00:00:00:00"  # fill with your device mac address


async def main():
    device = Device(address)
    await device.connect()

    device.zone1.is_watering = True

    await device.push_state()
    await device.disconnect()


asyncio.run(main())

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

melnor-bluetooth-0.0.11.tar.gz (8.6 kB view details)

Uploaded Source

Built Distribution

melnor_bluetooth-0.0.11-py3-none-any.whl (8.5 kB view details)

Uploaded Python 3

File details

Details for the file melnor-bluetooth-0.0.11.tar.gz.

File metadata

  • Download URL: melnor-bluetooth-0.0.11.tar.gz
  • Upload date:
  • Size: 8.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.9.13

File hashes

Hashes for melnor-bluetooth-0.0.11.tar.gz
Algorithm Hash digest
SHA256 42c95b5576b7301109a3693294319cf28fc235f4397728613232731408c52644
MD5 260136bed32e9d0b2b52ce8f36cd3847
BLAKE2b-256 2915d503b27db4d80d0b29e899054daf6c8a52398bec2c278bc0773469b97b65

See more details on using hashes here.

File details

Details for the file melnor_bluetooth-0.0.11-py3-none-any.whl.

File metadata

File hashes

Hashes for melnor_bluetooth-0.0.11-py3-none-any.whl
Algorithm Hash digest
SHA256 9ebc70c19573dbbc869154f80b69ef284e8329b635af14be0376fa0e40bd5b02
MD5 74a6eabf43fa5dd7e37506cee2959693
BLAKE2b-256 affaf888f8ce4b4624cb93657d482558f9f5e4f6ac4093337b8b91a8d1b5bdf7

See more details on using hashes here.

Supported by

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