AI и умный дом

Удивительно, как при всем засилье материалов про AI, подавляющее большинство их посвящено тому, как сделать еще один трекер привычек, сгенерировать еще один текст, который никто не прочтет или нарисовать какую-то откровенно вторичную ерунду, хотя у всех нас есть задачи, с которыми любой агент справится шутя, без галлюцинаций и надежно. Ведь у всех практически есть домашние сети, в них есть гаджеты, во многих сетях присутствуют умные устройства, которые могут быть лучше настроены, связаны простыми функциями и в сумме делать жизнь удобнее.

Поскольку я живу в доме с каким-то количеством разных систем, таких возможностей больше. Начал я с того, что отправил Claude Code разбираться с настройками своей локальной сети. У меня она большая, только точек доступа штук 8, плюс свитчи, две линии от двух провайдеров, несколько рабочих мест, обычные smart-устройства — разобраться есть с чем. Конечно, пришлось повозиться и мне, подробно отвечая на вопросы, чтобы в итоге в проекте Claude получилась полная карта сети, все желаемые настройки и так далее — но в результате есть не только текущий статус, но и план развития. В результате, когда я решил сделать апгрейд, Claude не просто дал список нужного оборудования, а и нашел на Розетке, что именно надо купить — мне оставалось пройти по ссылкам, а после получения оборудования сообщить, что всё приехало и следовать инструкциям по подключению.

Понятно, что при запуске солнечной станции было понятно, кто этим будет заниматься. Еще до начала монтажа я отправил Claude изучить состояние (у меня стоял уже маломощный инвертор в качестве резервного питания с батареями), потом дал ему подготовленный проект, много и интересно обсуждал с ним энергобаланс дома по месяцам. Монтаж был небыстрым, поэтому я успел подобрать новый генератор (заменив однофазный на трехфазный) — ну как я, Claude выбрал из оптимальных вариантов на Розетке. Кроме того, мы даже успели потренироваться на соседском инверторе Deye (у меня монтировали аналогичный, другой мощности), написав мониторинг состояния и телеграм-бота для присылки уведомлений. Поэтому процесс ввода в эксплуатацию моей станции начался, еще когда электрики вещи собирали. Правда, оказалось, что новая версия логгера уже не дает прямого доступа к данным инвертора, только через облако Deye, но это нас задержало буквально на полчаса, пока я регистрировал аккаунт, заводил станцию, создавал приложение в интерфейсе разработчика и получал секреты. Инженеру, который приехал вводить станцию, я даже доступа к аккаунту не дал и автоматами он не пощелкал.

Потом выяснилось, что логика разработчиков Deye не очень подходит украинским реалиям — например, функция “При падении заряда батарей до NN процентов перейти на питание из сети” как-то чересчур полагается на то, что питание в сети есть всегда. У меня емкость батарей гарантированно перекрывает суточное потребление, но в пасмурный день, особенно, если это короткий световой день осенью и зимой, генерации может быть недостаточно для полного заряда. Поэтому с точки зрения обеспечения бесперебойности я бы предпочел поддерживать достаточный заряд — если вдруг в очередной раз по подстанции недалеко от моего дома прилетят русские ракеты, у меня будет достаточно времени для заряда батарей с помощью генератора.

Итоговая логика выглядит так — при наступлении ночного тарифа (стоимость электроэнергии вдвое ниже), если сеть есть и генерация днем была недостаточной, дозарядить батареи до 100% и перейти на них. Она не реализуется стандартными настройками инвертора, поэтому Claude написал скрипт, который в 23:02 читает заряд, принимает решение и записывает программу дозаряда. Как только заряд достигает 100%, записывается программа перехода на батареи (там все равно включен переход на сеть ниже 50%).

Да, для этого нужно иметь что-то, на чем этот скрипт будет работать. У меня для этого используется NAS (Synology DS 918+), у которого вполне достаточно ресурсов на подобные простые задачи. Можно использовать Raspberry Pi, а можно и любой стандартный компьютер, лишь бы он был постоянно включен и находился в сети.

У меня на этом NAS еще работает HomeAssistant, который целиком сконфигурирован тем же Claude — там есть все умные устройства, погодная станция, отчет по электроэнергии (более удобный, чем в приложении DeyeCloud), прогноз по генерации (используются данные Open-Meteo и пока они достаточно точны). Есть, конечно, и спортивный интерес подключить туда как можно больше всего — поэтому я задумался еще и о котле отопления.

Отопление у меня собственным котлом Vitodens-200W (производитель Viessmann), котором уже полтора десятка лет. Все эти годы мне рассказывали про наличие отдельного модуля с wi-fi к нему, и такой действительно есть, но надо заказывать, да и стоит он под 400 евро. Войдя в поток полной автоматизации и воодушевшившись существующими возможностями подключения всего и вся (например, мониторинг инвертора не через облако уже на очереди через простой ретранслятор данных в wi-fi, я решил озадачить Claude не очень стандартным вопросом — а обязательно ли для интеграции котла использовать фирменный модуль?

Оказалось — вовсе нет. Котел имеет оптический порт на контроллере, к которому и подключается фирменный модуль. Протокол порта давно разобран, к нему же можно подключить и сторонний адаптер, впрочем, самый простой способ — купить стандартный сервисный кабель Optolink/USB, а к нему подключить любой Linux-хост. Кабель стоит 60 евро (против 400 за модуль), Linux-хостом может выступить хоть тот же Raspberry Pi. Правда, идею наконец применить очень старую первую модель (15 лет назад заказал и толком не использовал ни разу) Claude забраковал — старый процессор может осложнить использование современных модулей, поэтому в дело пошел более новый Pi 4, который я покупал пару лет назад для мониторинга инвертора через Solar Assistant (он мне уже не нужен после перехода на Deye). Кабель приехал за пару недель из Германии, интеграция (пока на чтение) заняла вчера пару часов с подготовкой образа для RPi.

Хочу оговориться, что такое подключение имеет не только гиковский смысл подключить всё и любоваться. Котел имеет внешний датчик и регулирует свою работу по отоплению в зависимости от температуры на улице. Но в реальных условиях такой подход ломается в двух случаях. Во-первых, если на улице (осенью или весной) еще не холодно (скажем, +10), то котел держит минимальный уровень отопления. Если это продолжается долго, то дом постепенно остывает и температура в комнатах падает ниже 20 градусов, что некомфортно. Во-вторых, зимой, если наступают реальные морозы и при этом день солнечный, котел работает на всю мощность, а дом и так прилично прогревается от солнца — у меня очень много света с южной стороны. К середине дня в некоторых комнатах температура вырастает до +27 — это совершенно не рабочая среда в кабинете.

Подобная интеграция позволяет сделать простую вещь — как минимум, дать сигнал котлу о температуре внутри дома. Как максимум, чем сейчас и занимается система, — накопить данные о срабатывании котла, как меняется температура внутри дома, сравнить с погодой (солнце, температура и так далее), по результатам подобрать коэффициенты кривой, которой руководствуется котел, а при необходимости и корректировать их с учетом инерции отопления.

Возвращаясь к исходной идее — все преимущество использование AI-агента в данном случае как раз и заключается в том, чтобы применить готовые решения к решению уже достаточно бытовой задачи (хотя еще недавно она бы выглядела передовой и вообще нерешаемой) в окружении современного дома. Причем не сверхсовременно оборудованного, честно признаюсь.

Правда, несколько заходов вместе с Claude в эту тему разбудили внутри какое-то желание вспомнить детские занятия радиолюбительством с паяльником и статьями из журнала “Радио” и даже заставили позавидовать западным сверстникам, у которых тогда, оказывается, было всё то, что сейчас есть на Розетке — модули, микросхемы, датчики и даже микрокомпьютеры.