⚡️
Версия: 1.0
Платформа: Raspberry Pi + Zigbee2MQTT + MySQL + PHP
Доступ: Веб-интерфейс, адаптив под мобильные устройства
📊 Главный дашборд
Центральная страница мониторинга всей системы.
- 🕔 Текущее время на сервере
- ✅ Последнее выполненное правило автоматизации (название, действие, время, статус подтверждения)
- ⏱️ Следующее запланированное срабатывание
- 🖥️ Статус железа Raspberry Pi:
- Температура CPU (цветовая индикация: зелёный <60°, жёлтый 60-70°, красный >70°)
- Загрузка CPU
- Оперативная память (использовано / всего)
- Температура NVMe диска
- Скорость вентилятора
- Напряжение ядра
- IP-адреса, uptime, время последнего обновления
- 🔧 Статусы systemd сервисов:
- iot-automation.service — движок автоматизаций
- mqtt-to-mysql.service — парсер MQTT в БД
- zigbee2mqtt.service — шлюз Zigbee устройств
- mosquitto.service — MQTT брокер
- 📊 Анализ логов (количество событий по ключевым словам за сегодня)
- ⏰ Ближайшие автоматизации (до 6 штук)
- 🌤️ Погода в Москве и Калуге (температура, ветер, влажность, давление)
📈 Графики датчиков
Визуализация показателей датчиков в реальном времени с историей.
- 📋 Группировка датчиков по зонам (Дом, Дача, Общие)
- 📊 Карточки датчиков с:
- Иконкой, названием и комнатой
- Текущим значением с цветовой индикацией (температура, влажность, батарея)
- Временем последнего обновления
- Датой первого появления в системе
- Графиком изменения за последние 30 точек (Chart.js)
- 🔄 Автообновление значений каждые 30 секунд и графиков каждую минуту
- 📱 Адаптивная сетка (1 колонка на телефоне, до 5 на ПК)
Поддерживаемые типы датчиков: температура (°C), влажность (%), освещённость (лк), PM2.5, CO₂, напряжение (В), ток (А), мощность (Вт), энергия (кВт·ч), батарея (%), давление (гПа).
⚙️ Логика автоматизации
Создание и управление правилами — сердце умного дома.
- 📝 CRUD операции с правилами (создание, чтение, редактирование, удаление)
- 🎯 Типы активации:
- По триггеру (при получении MQTT сообщения)
- Ежедневно в заданное время
- Еженедельно по выбранным дням
- 📊 Типы условий:
- Простое (операторы: >, <, =, !=, >=, <=)
- Скриптовое (выражения с sensor.{topic}, data, &&, ||)
- ⏱️ Длительность условия (условие должно выполняться N секунд)
- 📨 Действия:
- MQTT команда (топик + payload)
- Email уведомление (с возможностью задержки)
- ✅ Подтверждение выполнения (топик подтверждения, таймаут, повторы)
- ⏰ Ограничения по времени суток и зависимости от других устройств
- 🔄 Повторение правила (persistent)
- 🔘 Включение/выключение правил
📜 Журнал автоматизаций
Просмотр истории срабатываний правил.
- 📋 Список всех выполненных правил (последние 100 записей)
- 🔍 Фильтрация по статусу:
- Все записи
- Ожидают подтверждения
- Подтверждённые
- Пропущенные
- 📦 Отображение топика и payload действия
- 💬 Причина пропуска (если применимо)
- ✅ Статус подтверждения с указанием времени
- 🎯 Ожидаемое и фактическое состояние устройства
🛠️ Метаданные датчиков
Управление информацией о датчиках.
- 📝 Форма редактирования метаданных
- 🏷️ Настройка имени, комнаты, группы, иконки, флага сохранения истории
- 📋 Список всех датчиков с возможностью редактирования и удаления
- 🗑️ Полное удаление датчика из всех таблиц (sensor_info, sensor_data, sensor_history)
📋 Логи сервисов
Просмотр системных логов в реальном времени.
- 📡 Статус сервисов
- 🎛️ Выбор сервиса и периода (от 5 минут до 24 часов)
- 🔄 Обновление логов по кнопке или автоматически (каждые 5 секунд)
- 🔍 Поиск по логам
- 📜 Автопрокрутка новых записей
- 🎨 Подсветка строк (ERROR — красным, WARNING — жёлтым)
⏰ Логи Cron задач
Просмотр логов автоматических cron-задач.
- 📋 Список лог-файлов:
- 🏺 Горшок (полив/влажность)
- 🌲 Можжевельник
- 🔥 Нагреватель аквариума
- 🍕 Кормушка
- 🚶 Движение (email уведомления)
- 💡 Свет аквариума
- 🧹 Фильтр аквариума
- 📧 Email уведомления
- 🔋 Батарейки Zigbee
- 📄 Карточки с содержимым логов (последние строки)
- 🔄 Кнопки «Обновить» и «Очистить» для каждого лога
- 🔄 Автообновление каждые 5 минут
🏡 Пафосная панель «Коттедж»
Демонстрационная панель для презентации возможностей (можно расширять под реальные данные).
- 📊 Баланс генерации и потребления
- 🏠 Комнаты: температура, влажность, тёплые полы, датчики движения
- 🧖♂️ Банный комплекс: парилка, купель, помывочная
- 🔒 Охрана: датчики движения, камеры, утечка газа, дым
- 🌬️ Вентиляция: рекуператор, грунтовый теплообменник, CO₂
- 🧊 Теплоаккумулятор 2000 л: температура, зарядка, ТЭНы
- 🔋 Zigbee батарейки: список устройств с уровнем заряда и предупреждениями
- 🐟 Аквариумы: 2 аквариума с датчиками (температура, pH, фильтры, корм)
🔧 Технические детали
- Язык: PHP 8+
- База данных: MySQL / MariaDB
- MQTT брокер: Mosquitto
- Zigbee шлюз: Zigbee2MQTT
- Графики: Chart.js
- Стили: Единый CSS с тёмной/светлой темой
- Адаптив: Медиа-запросы для мобильных устройств
- PWA: Установка на телефон как приложение
- Автоматизация: systemd сервисы + cron
- Клонирование: Ежемесячное зеркалирование на резервный сервер через WireGuard
🎨 Тёмная и светлая темы
Переключатель в панели навигации. Сохраняется выбор в localStorage.
📅 Последнее обновление: июнь 2026
👨💻 Разработка: Самостоятельная, с помощью нейросетей (ChatGPT)
Файлы еще не выложил, если нужны пишите в комментах.
Комментарии
Пока нет комментариев. Будьте первым!