Skip to content

MihVS/lighting_zont

Repository files navigation

Lighting ZONT

Скрипт Lighting ZONT позволяет управлять выходом контроллера ZONT по восходу и закату солнца. К выходу контроллера подключено внешнее реле. К реле подключена нагрузка, которой скрипт будет управлять. Если lighting_schedule.json не заполнен, то данные о восходе и закате солнца подтягиваются с ресурса sunrise-sunset.org Есть возможность вручную редактировать включение и отключение освещения. Документация для получения токена контроллера ZONT тут.

Скрипт работает только для токена пользователя с одним устройством. Токен получается для имени и логина назначенных производителем контроллера(на карточке в комплекте). При необходимости расширения функционала пишите в issues.

Протестировано на контроллерах:
  • ZONT H2000+
  • ZONT H1000+

Установка

Для запуска приложения проделайте следующие шаги:

  1. Склонируйте репозиторий.
  2. Перейдите в каталог со скриптом и создайте виртуальное окружение:
cd lighting_zont/
python -m venv venv
  1. Активируйте виртуальное окружение:
source venv\scripts\activate
  1. Установите зависимости:
python -m pip install -r requirements.txt
  1. Создайте в каталоге приложения файл .env:
touch .env
  1. Заполните файл .env по примеру example_env.
  2. Запустите скрипт:
python main.py

Получение токена ZONT API

С помощью API клиента (например postman) отправьте POST запрос на endpoint https://zont-online.ru/api/get_authtoken Этот метод должен отправляться с аутентификацией по паролю.

  • Закодируйте свой логин пароль в Base64 формат.
    • воспользуйтесь любыми кодировщиком, например этим.
    • формат кодирования login:password
Пример декодирования тут

base64

  • Добавьте в Headers post запроса поля со своими значениями:
    • Authorization
    • X-ZONT-Client
    • Content-Type
Пример Headers

post_request

Пример ответа

response_token

  • Полученный токен внесите в файл .env в поле XZONTTOKEN

Получение id device и id object

Отправьте post запрос на адресс https://zont-online.ru/api/devices c ключами Headers (значения подставьте свои):

  • X-ZONT-Token
  • X-ZONT-Client
  • Content-Type

Тело запроса:

{
    "load_io": true
}

Далее ищем в ответе id контроллера (device id) и id кнопки управления освещением (object id)

device id

device_id

object id

object_id

Заполнение файла .env

  • XZONTTOKEN - токен авторизации ZONT API
  • XZONTCLIENT - ваш адрес электронной почты
  • DEVICEID - id вашего контроллера
  • OBJECTID - id элемента кнопка
  • TIMEZONE - ваша временная зона
  • TIMEOFFSETON - корректировка времени включения освещения полученного из сети
  • TIMEOFFSETOFF - корректировка времени выключения освещения полученного из сети
  • LATITUDE - широта вашего населённого пункта
  • LONGITUDE - долгота вашего населённого пункта

Разработчик

Михаил Шутов

связаться

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages