跳转到主要内容

通过Socket.IO API访问Loop Energy能源监控器

项目描述

PyLoopEnergy

此库提供了一个Python API来访问提供电力和天然气监控器的Loop Energy

它使用他们的服务提供每10秒更新一次的电力读数,以及每15分钟更新一次的天然气读数。

要使用此服务,您需要设备客户端序列号和密钥。

您可以通过登录到your-loop.com,打开浏览器控制台,并输入Drupal.settings.navetas_realtime来获取这些信息。

(有关如何操作的更详细文档,请参阅此处 https://home-assistant.io/components/sensor.loop_energy/

您应保留您的密钥, 保密!

感谢Marcos Scriven提供了节点实现,我毫无保留地借鉴了它。 https://github.com/marcosscriven/loop

数据以kw返回。

依赖关系

PyLoopEnergy依赖于socketIO-client。它需要支持socket.IO版本0.9的版本0.5.6,而不是1.0。

如何使用

>> import pyloopenergy
>> elec_serial = 'your serial'
>> elec_secret = 'your_secret'
>> le = pyloopenergy.LoopEnergy(elec_serial, elec_secret)
>> le.electricity_useage

0.602

>> le.terminate()

说明

  1. 数据是异步获取的,因此如果您在创建它后直接调用electricity_useage,则可能不会填充le。API提供更新时的回调函数(下面有一个简单示例)。
  2. 在调用terminate后,可能需要15秒来终止监控线程。

简单的订阅示例

import pyloopenergy
import time

def gas_trace():
    print("Gas =", le.gas_useage)

def elec_trace():
    print("Electricity =", le.electricity_useage)

elec_serial = '00000';
elec_secret = 'YYYYYY';

gas_serial = '11111';
gas_secret = 'ZZZZZ';

le = pyloopenergy.LoopEnergy(elec_serial, elec_secret, gas_serial, gas_secret)
le.subscribe_gas(gas_trace)
le.subscribe_elecricity(elec_trace)

time.sleep(120)
le.terminate()
time.sleep(60)

这将产生以下输出。

Electricity = 1.13
Gas = 0.0
Electricity = 1.116

煤气表类型和热值

库支持公制和英制煤气表(读取立方米或立方英尺的100倍)

默认单位是公制米,但您也可以指定英制或公制米。

le = pyloopenergy.LoopEnergy(elec_serial, elec_secret, gas_serial, gas_secret, pyloopenergy.IMPERIAL)

le = pyloopenergy.LoopEnergy(elec_serial, elec_secret, gas_serial, gas_secret, pyloopenergy.METRIC)

要从体积读数转换为千瓦,库需要知道每米气体的能量含量。默认值为39.11,但您可以根据需要使用供应商提供的实际数字。

le = pyloopenergy.LoopEnergy(elec_serial, elec_secret, gas_serial, gas_secret, pyloopenergy.IMPERIAL, 39.1)

le = pyloopenergy.LoopEnergy(elec_serial, elec_secret, gas_serial, gas_secret, pyloopenergy.METRIC, 39.1)

项目详情


下载文件

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

源分发

pyloopenergy-0.2.1.tar.gz (5.1 kB 查看散列值)

上传时间

构建分发

pyloopenergy-0.2.1-py3-none-any.whl (5.1 kB 查看散列值)

上传时间 Python 3