Реализация AI-управления климатом умного дома (обучение привычкам) в мобильном приложении

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.
Разработка и поддержка любых видов мобильных приложений:
Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Предлагаемые услуги
Показано 1 из 1 услугВсе 1735 услуг
Реализация AI-управления климатом умного дома (обучение привычкам) в мобильном приложении
Сложная
~2-4 недели
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    756
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    624
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1054
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    947
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    862
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    445

Реализация AI-управления климатом умного дома (обучение привычкам) в мобильном приложении

Термостат Nest изменил ожидания пользователей умного дома: климатическая система должна учиться привычкам и настраиваться сама. Обычный умный термостат с расписанием требует ручной настройки и не адаптируется. Система с обучением наблюдает за поведением пользователя несколько недель и строит предиктивную модель: когда человек встаёт, когда приходит домой, когда ложится, какую температуру предпочитает утром против вечера.

Сбор контекстных данных

Модель обучения привычек требует нескольких входных потоков:

Присутствие в доме. Wi-Fi presence detection — анализ активных MAC-адресов в сети (ARP-таблица роутера через SSH или SNMP) без GPS. Работает надёжнее геозон при нестабильном GPS в квартире. Пассивный bluetooth scanning на мобильном — как вспомогательный сигнал.

Ручные корректировки. Каждый раз когда пользователь вручную меняет температуру в приложении — это обучающий сигнал. «В 22:30 в пятницу пользователь снизил температуру с 22°C до 20°C» — значимый паттерн.

Внешние условия. Температура на улице (OpenWeatherMap или датчик на фасаде), облачность, ветер — влияют на теплопотери дома и на предпочтительную внутреннюю температуру.

@Entity(tableName = "climate_events")
data class ClimateEvent(
    @PrimaryKey(autoGenerate = true) val id: Long = 0,
    val timestamp: Long,
    val eventType: EventType, // MANUAL_ADJUST, AUTO_SETPOINT, PRESENCE_DETECTED, PRESENCE_GONE
    val roomId: String,
    val setTemperature: Float?,
    val actualTemperature: Float,
    val outdoorTemperature: Float,
    val hour: Int, // 0-23
    val dayOfWeek: Int, // 1=Mon
    val isWeekend: Boolean,
    val presenceCount: Int, // количество устройств в сети
)

Модель предсказания комфортной температуры

После накопления 2-3 недель данных — обучение модели. Для этой задачи хорошо работает простая модель, а не сложная нейросеть: Gradient Boosting (LightGBM) или даже Random Forest на признаках {hour, dayOfWeek, isWeekend, outdoorTemp, presenceCount}.

# Сервер: обучение персональной модели комфортной температуры
import lightgbm as lgb
from sklearn.model_selection import TimeSeriesSplit

def train_comfort_model(user_id: str) -> lgb.Booster:
    events = load_manual_adjustments(user_id, days=30)

    features = pd.DataFrame({
        'hour_sin': np.sin(2 * np.pi * events.hour / 24),
        'hour_cos': np.cos(2 * np.pi * events.hour / 24),
        'dow': events.day_of_week,
        'is_weekend': events.is_weekend.astype(int),
        'outdoor_temp': events.outdoor_temperature,
        'presence': events.presence_count,
    })
    target = events.set_temperature

    model = lgb.LGBMRegressor(n_estimators=100, learning_rate=0.05, max_depth=4)
    tscv = TimeSeriesSplit(n_splits=5)
    # cross-val для оценки качества...
    model.fit(features, target)
    return model

Модель экспортируется в ONNX или TFLite, загружается в мобильное приложение. Прогноз на следующие 24 часа — массив уставок температуры по часам. Применяется автоматически или требует подтверждения пользователя (настройка).

Управление климатическим оборудованием

Мобильное приложение управляет оборудованием через несколько уровней:

Локальные термостаты с API. Nest Thermostat — Google Smart Device Management API. Ecobee — ecobee3 API. Heatmiser — Modbus TCP или хаб. Tado — REST API. У каждого своя авторизация (OAuth2 или API key) и лимиты запросов.

MQTT-контроллеры. Термостат на ESP32 с прошивкой ESPHome: управляется через MQTT home/thermostat/setpoint. Здесь мобильное приложение пишет напрямую или через Home Assistant REST API.

// iOS: отправка уставки термостата через Home Assistant
class ClimateController {
    private let haBaseURL: String
    private let bearerToken: String

    func setTemperature(entityId: String, temperature: Double) async throws {
        let url = URL(string: "\(haBaseURL)/api/services/climate/set_temperature")!
        var request = URLRequest(url: url)
        request.httpMethod = "POST"
        request.setValue("Bearer \(bearerToken)", forHTTPHeaderField: "Authorization")
        request.setValue("application/json", forHTTPHeaderField: "Content-Type")
        request.httpBody = try JSONEncoder().encode([
            "entity_id": entityId,
            "temperature": temperature
        ])
        let (_, response) = try await URLSession.shared.data(for: request)
        guard (response as? HTTPURLResponse)?.statusCode == 200 else {
            throw ClimateError.setpointFailed
        }
    }
}

Адаптация модели и управление автоматизацией

Модель дообучается ежегодно, с переобучением на свежих данных и затуханием старых (seasonal drift: летние и зимние предпочтения различаются). Если пользователь несколько раз подряд корректирует автоматическую уставку — приложение предлагает переобучить модель немедленно.

Зоны доверия: пользователь может разрешить автоматическое применение уставок только в рамках допустимого диапазона — например, «автоматически, но не ниже 18°C и не выше 24°C». Выход за диапазон — запрос подтверждения через уведомление.

Мультирумный климат: отдельная модель на каждую комнату, разные паттерны (спальня vs гостиная vs детская). Синхронизация моделей — на сервере, мобильное приложение получает единый набор прогнозов через REST.

Разработка AI-модуля обучения климатическим привычкам для мобильного приложения умного дома: 8-12 недель. С многозонной поддержкой и интеграцией нескольких производителей термостатов: 4-5 месяцев. Стоимость рассчитывается индивидуально.