跳转到主要内容

一个用于发现和与Melnor、Eden等品牌蓝牙灌溉定时器交互的Python库。

项目描述

Melnor Bluetooth

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

Melnor Bluetooth是对Melnor、EcoAquastar、Eden和其他品牌下所有“智能”蓝牙灌溉阀的蓝牙协议的逆向工程实现。

该库应在MacOS、Linux或Windows上运行。它主要在MacOS上开发,其他平台可能存在错误。欢迎提交PR和测试以改善所有平台的质量。

入门

CLI

提供了一个简单的CLI,用于基本调试目的。它不适用于任何实际用途,也不适合在现实世界中运行阀门。

该项目使用poetry进行依赖关系管理和构建。在本地运行此项目的步骤如下

  1. 克隆仓库
  2. poetry install
  3. poetry run cli.py

Python API已被设计得尽可能易于使用。下面提供了一些示例

读取电池状态

import asyncio

from bleak import BleakScanner  # type: ignore - bleak has bad export types

from melnor_bluetooth.device import Device

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


async def main():

    ble_device = await BleakScanner.find_device_by_address(ADDRESS)
    if ble_device is not None:
        device = Device(ble_device)
        await device.connect()
        await device.fetch_state()

        print(device.battery_level)

        await device.disconnect()


asyncio.run(main())

打开一个区域

import asyncio

from bleak import BleakScanner  # type: ignore - bleak has bad export types

from melnor_bluetooth.device import Device

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


async def main():
    ble_device = await BleakScanner.find_device_by_address(ADDRESS)
    if ble_device is not None:
        device = Device(ble_device)
        await device.connect()
        await device.fetch_state()

        device.zone1.is_watering = True

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


asyncio.run(main())

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源代码分发

melnor_bluetooth-0.0.25.tar.gz (11.6 kB 查看哈希值)

上传时间 源代码

构建分发

melnor_bluetooth-0.0.25-py3-none-any.whl (13.0 kB 查看哈希值)

上传时间 Python 3

由以下支持