Сервис для управления умным домом. Пользователь подключает свои устройства Tuya и самодельные приборы на Arduino, раскладывает их по домам и комнатам и собирает из виджетов собственную панель управления. Данные обновляются раз в 5 минут, а не раз в час, как в приложении Tuya.
В рамках проекта выполнено:
Интеграция с Tuya Cloud: подключение аккаунта, загрузка спецификаций устройств, сбор показаний по расписанию раз в 5 минут и управление выключателями и розетками
API для самодельных приборов на Arduino: устройства отправляют показания в систему и получают от неё настройки и команды
Дома, комнаты и приборы: адрес дома с геокодированием (OpenStreetMap Nominatim), устройства по комнатам, статус онлайн/офлайн
Настраиваемый дашборд из виджетов: графики с несколькими рядами данных за час, 6 часов, сутки, 3, 7 и 30 дней (Chart.js), текущее значение со спарклайном, переключатели, блоки управления
Плитка дома: изометрический дом с поворотом по сторонам света, текущая погода, направление ветра, датчик уличной температуры; прогноз погоды на 3 дня
Живое обновление без перезагрузки страницы: триггер PostgreSQL (LISTEN/NOTIFY) и собственный WebSocket-сервер на PHP, доступ по подписанным HMAC-токенам
Сценарии автоматизации: условия по показаниям датчиков управляют устройствами обеих платформ — Tuya и Arduino работают вместе
Telegram-бот для уведомлений
Светлая и тёмная темы, полноэкранный режим дашборда для настенных панелей