Локального интерфейса у Netatmo нет, забирать данные можно только через API с облака.
-
Устанавливаем python-модуль netatmo:
pip3 install netatmo
-
Если версия python ниже 3.6 (а в случае с WB это так), надо в файле /usr/local/lib/python3.5/dist-packages/netatmo/netatmo.py исправить следующее:
data = json.loads(response.data)
заменить на
data = json.loads(response.data.decode('utf-8'))
И экспортировать переменную:
export PYTHONIOENCODING=utf-8
echo "export PYTHONIOENCODING=utf-8" >> /mnt/data/root/.bashrc
-
Задать конфиг для доступа к API:
netatmo config -u user@mail -p password -i client_id -s client_secret -d 70:ee:50:xx:xx:xx
user@mail и password - реквизиты обычной учетки на сайте netatmo;
client_id и client_secret - реквизиты доступа к API “для разработчика”, можно получить в личном кабинете;
70:ee:50:xx:xx:xx - MAC-адрес (он же серийник) метеостанции. -
Проверить, что все работает:
netatmo test
должно быть OK
netatmo list
должна отобразиться станция со всеми доп.модулями
netatmo dump
дамп показаний со всех модулей. -
Скрипт для движка правил ниже. Скрипт запускает netatmo dump и парсит его вывод по переменным. Названия доп. модулей могут отличаться, нужно править под свою станцию. Обновляет показания каждые 2 минуты. Чаще ставить не стоит, т.к. в API есть лимит на кол-во запросов в час.
Также я подправил /usr/local/lib/python3.5/dist-packages/netatmo/netatmo.py - выкинул оттуда все лишнее, чтобы не запрашивалась история показаний и скрипт выполнялся быстрее. Мой вариант netatmo.py тоже приложил.
netatmo.json (9.0 КБ) netatmo.py.txt (24.2 КБ)