Повторение и тавтология

дайте сказать немому

Новый умный дом

| Comments

1. Общая концепция.

1.1. Сценарии – зло. Их сложно отлаживать, они легко ломаются, если меняется оборудование, они непереносимы между разными платформами. Они могут быть внутренне противоречивы неочевидным образом.

1.2. Человек знает, чего ему хочется добиться, но не знает (и не хочет знать) как. Хочет, чтобы дом был чистый, светлый, легко дышалось, внутри только свои и т.п. Это общие вещи, конкретика тоже обычна человеку понятна, или он хочет в ней разбираться, раз уж задумался об умном доме.

1.3. Есть общие знания о мире, справедливые для любых домов, платформ и систем. Дом нагревается, остывает и проветривается по экспоненциальному закону. Если температура зимой падает на столько-то градусов, влажность падает на столько-то. Если никого дома нет, то он должен охраняться. Если на пол протекла вода, то это плохо. Некоторые устройства никогда не должны работать, если никого нет дома, некоторые не должны работать на полную мощность, если дома кто-то есть (громкая вентиляция и т.п.). LED лампочки меняют свои характеристики таким-то образом в зависимости от выработки ресурса.

2. Правильная система устроена так.

2.1. Юзер описывает свои желания из п.2. в самом общем виде. Например,

  • после 10 вечера – включается ночной режим
  • когда никого дома нет, надо максимально проветрить дом
  • когда дома кто-то есть, то приоритет у комфортной температуры перед проветриванием.

И так далее. Эти правила принципиально отличаются от сценариев тем, что описывают желаемое состояние, а не способ достижения этого состояния.

2.2 Движок дома (тот самый ум, наконец-то он нашёлся, ура!) превращает, компилирует пожелания юзера из п. 2.1 в непротиворечивый набор правил, которые управляют исполнительными элементами дома. Делается это на основе модели дома, учитывающей как физические характеристики помещения и окружающей среды (прогноз погоды), так и конфигурацию установленного оборудования. Модель включает в себя разумные правила, действующие по-умолчанию. Если на этапе компиляции обнаруживаются противоречия в правилах (например, одновременно “не включать свет в маленькой комнате с 21 до 9.00” и “подсвечивать растения в зимнее время”), то об этих противоречиях пользователь узнает во время компиляции, а не в процессе эксплуатации заглючившего дома.

2.3. Повторять компиляцию нужно в двух случаях: при изменении пользовательских правил и при изменении конфигурации оборудования, т.е. относительно редко. Поэтому эта функция может выполняться внешним сервисом, “ум дома as a service”. Так можно легко этот ум увеличивать по мере улучшения физических моделей или обнаружения новых свойств датчиков и исполнительных элементов. Кроме того, так все пользователи системы помогали бы друг другу накапливать статистику и соответственно улучшать мозги дома. “Глобальный nest”.

2.4. Для бизнеса это тоже звучит любопытно. Продавать не набор датчиков-исполнителей, связанных для каждого конкретного случая лапшой сценариев, а экспертизу и опыт правильного управления домом, реализованную в виде компилятора правил и базы моделей домов.

3. Что можно попробовать сделать прямо сейчас, на первом этапе.

Создать простую модель дома. Есть статистика, как дом охлаждается и проветривается, то, чего нехватает, можно померять. Создать упрощённую систему ввода правил. В идеале, конечно, система должна понимать естественный язык, на этом этапе можно сделать ввод правил в виде формочек. Создать компилятор правил для известного набора оборудования.

Уже в этом виде система будет полезна и интересна, её можно будет показывать людям, улучшать модели, накапливать статистику и т.д.

Итого:

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

Comments