Skip to main content

用于 Netatmo 气象站的 Python3 API

项目描述

netatmo.py

构建状态 派 派

用于从 Netatmo 连接的气象站检索数据的 Python 3 API 。

该库实现了身份验证令牌刷新以及气象站方法GetstationdataGetmeasure

尽管 Netatmo 提供了用 Python 编写的示例,但这个库提供了——我希望如此!- 更高级的方法来访问数据。

安装

安装库的最简单方法是使用pip

pip3 install netatmo

您还可以下载或克隆 GitHub 存储库并安装模块:

cd /path/to/repo
python3 setup.py install

最后,您可以获得netatmo.py源文件并在您的项目中使用它。

要求

  • Python 3(对不起,如果你生活在legacy中)
  • requests模块(应该包含在任何体面的 Python 发行版中)
  • 具有至少一个气象站的有效 Netatmo 帐户
  • 来自 Netatmo 开发者程序的 client_id / client_secret 对(请参阅创建您的应用程序

命令行使用

帮助

netatmo -h
netatmo <command> -h

where<command>可以是以下关键字之一:config, fetch, list, test, dump.

证书

该库从 .rc 文件中读取用户名/密码和客户端 ID/秘密。默认情况下,它是 ~/.netatmorc。它可以手动编辑,也可以由库用config命令编写。

netatmo config -u user@mail -p password -i client_id -s client_secret -d 70:ee:50:xx:xx:xx

没有任何选项,config只打印当前配置。

$ netatmo config
Read config
username: user@mail
password: password
client_id: 1234567890abcdef12345678
client_secret: ABCdefg123456hijklmn7890pqrs
default_station: 70:ee:50:xx:xx:xx

显示授权电台

netatmo list

将数据提取到 CSV 文件中

netatmo fetch

此命令将写入两个 CSV 文件,netatmo_station.csv并且netatmo_module.csv. 根据最后的时间戳,最新的措施会附加到这些文件中。

其他命令和选项

test测试连接。成功时,退出代码为零。失败时,非零,就像任何 shell 命令一样。

dump显示来自气象站的更多数据。

每个选项都会-v增加详细程度。该选项-c可用于使用备用配置文件。

两者-v-c都必须放在命令之前。

用作 Python 模块

#! /usr/bin/env python3

import netatmo

# fetch data using ~/.netatmorc credentials
netatmo.fetch()

# credentials as parameters
ws = netatmo.WeatherStation( {
        'client_id': '1234567890abcdef12345678',
        'client_secret': 'ABCdefg123456hijklmn7890pqrs',
        'username': 'user@mail',
        'password': 'password',
        'device': '70:ee:50:XX:XX:XX' } )
ws.get_data()
print(ws.devices)

许可和保修

没有也没有。

它不是 Netatmo 的官方软件,也不受该公司的认可或支持。

这个库是作为个人作品编写的。随意改进或调整它以满足您自己的需求。

笔记

其他 Netatmo 设备

该库仅使用气象站及其内部模块进行了测试。我不知道它是否适用于风量计或雨量计。其他设备不受支持,但可以轻松添加它们的方法。请参阅Netatmo Connect API

在 Synology NAS 上安装

Synology 提供了一个缺少requests模块的 Python 3 软件包。这是一个简单的下载方法,无需 git、pip 或 setup.py:

curl -sL https://api.github.com/repos/kennethreitz/requests/tarball/v2.20.0 | tar -xzf - --strip-components=1 --wildcards '*/requests'

或者,您可以使用Anaconda作为 Python3 发行版。

项目详情


下载文件

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

源分布

netatmo-1.0.7.ta​​r.gz (10.4 kB 查看哈希

已上传 source

内置发行版

netatmo-1.0.7-py3.8.egg (10.4 kB 查看哈希

已上传 1 0 7

netatmo-1.0.7-py3.7.egg (10.4 kB 查看哈希

已上传 1 0 7

netatmo-1.0.7-py3.6.egg (10.4 kB 查看哈希

已上传 1 0 7

netatmo-1.0.7-py3-none-any.whl (11.4 kB 查看哈希

已上传 py3