Skip to main content

一个小型 Python 库,用于发现 Melnor、Eden 等蓝牙水定时器并与之交互。

项目描述

梅尔诺蓝牙

派皮 编解码器分支 GitHub 工作流状态(分支) PyPI - 下载

Melnor 蓝牙是蓝牙协议的逆向工程实施,适用于 Melnor、EcoAquastar、Eden 和其他品牌下的所有“智能”蓝牙浇水阀。

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

入门

命令行界面

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

该项目使用诗歌进行依赖管理和构建。在本地运行这个项目很简单,只需以下步骤:

  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.20.tar.gz (10.1 kB 查看哈希

已上传 source

内置分布

melnor_bluetooth-0.0.20-py3-none-any.whl (10.6 kB 查看哈希

已上传 py3