Pull to refresh

Comments 65

Облачный умный дом - это не только зависимость от провайдера, но и вендор-лок. Сегодня, простите, ваш SmartEsp есть, а завтра небольшой умный поселок превращается в тыкву.

Вы правы. Но, это опыт сегодняшнего дня. Я предложил концепцию парашюта. Если облако становится неудовлетворительным, то проекты моментально стартуют на локальном сервере. Если же речь, о конкретной неприязни к вендору, что же, все схемы контроллеров открыты и основаны на популярной элементной базе. Скажем перепрошивка ESP8266 с помощью ESPEasy и установка Home Assistant, всегда доступна. То есть, здесь нет hardware+software vendor lock. Следовательно, превращение в тыкву отменяется.

По мне так слишком витиевато и похоже на рекламу.

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

Полностью согласен. Какой-то бред про суперпозицию. Получается, что по принципу суперпозиции мы имеем сервер умного дома Шредингера? Т.е. он одновременно и есть и нет. И только в момент обращения мы понимаем, в каком он состоянии?

Если текст содержит главу с названием вроде "сервер в облаке или локально" - это на 90% реклама облачного сервиса.

После фразы "не разумно ли иметь сервер в облаке?" - реклама становится очевидной и далее читатель устремляется в комментарии чтобы убедиться что остальные читатели уже приступили к угнетению рекламного поста.

Как Вы верно заметили, есть и другие 10% )

Хотя, на практике все мы понимаем, что без Интернета никуда

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

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

та идея проекта SmartESP

Из статьи не особо понятно, в чём именно эта идея, а картинки и дистрибутив на сайте ведут в 404 (https://smartesp.net/en/software/ https://smartesp.net/en/api/store/?file=SmartESP1.0.4.zip)

Я не могу сказать, что Вы не правы. Но и не могу сказать, что правы полностью. Да, все верно - автономность, это критический момент и он должен быть соблюден. Поэтому в проекте есть базовая автономность в каждом контроллере, независимо от месторасположения сервера. Однако, попытка реализовывать весь спектр возможностей в каждом контроллере утопична. Исходя из моего опыта, Умный дом, это крайне стабильная с точки зрения конфигурации система. Начиная с момента его реализации до эксплуатации, добавления и переделки не прекращаются. Следовательно, нужен такой механизм, который будет справляться с постоянно меняющейся конфигурацией. И в этом случае нужен сервер. А дальше, как Вы сами сказали, есть аргументы за и против, где он должен находиться. Но, есть ключевой нюанс, если Вы не находитесь в доме 24/7, то как не крути, но Вам надо знать в моменты отсутствия: что там дома? Осведомленность, это такой же важный критерий как и автономность. Осведомленность в отсутствии проблем в первую очередь. Именно поэтому я указал, что без Интернета никуда, в том смысле, что мы должны полагаться на него как на канал для уведомлений.

А в чем, собственно, проблема в качестве сервера использовать одноплатный компьютер? HA вполне уверенно помещается на условной малинке даже третьего поколения, уже не говоря о четвертом. Более того, вместе с малинкой мы получаем и встроенный Bluetooth и возможность воткнуть ZigBee свисток в свободный порт USB. Плюс GPIO Гребёнка позволяет делать массу интересного для умного дома. В наше время, на первый план выходит приватность и безопасность, все стараются отказаться от всяческих облаков и вендорлоков, ибо после всем известных событий, нам уже в полной мере показали чего эти облачные технологии стоят. Вы же предлагаете по сути то же облако, но типо отечественное (хотя скорее всего, не очень) и с возможностью установить его кусочек у себя(такой себе cloud@customer) но это не решает задачу предотвращения доступа третьих лиц к моим данным, а так же задачу прекращения доступа меня самого к этому самому клауду. Во всей этой ситуации, уже давно нет никакой суперпозиции, все давно определились с тем, что сервер умного дома должен располагаться внутри контура этого самого дома, и быть полностью тебе подконтролен.

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

Каждый выбирает для себя единственно верный путь, для аудитории представленной на этой площадке, единственно верный путь это собственный сервер, о чем вам, уже неоднократно тут сказано. Остальное, буду считать софистикой.

Ваше право. Однако, суть статьи в том, что выбирая всё равно какой, но ТОЛЬКО локальный или облачный сервер, мы попадаем на "единственно верный путь", что звучит как приговор!

Но, есть ключевой нюанс, если Вы не находитесь в доме 24/7, то как не крути, но Вам надо знать в моменты отсутствия: что там дома?

Если вы выбираете облачный сервер, то при отсутствии интернета вы не получите уведомлений в любом случае, независимо от того, находитесь вы дома или нет.

Если вы выбираете локальный сервер, то при отсутствии интернета вы получите уведомления в том случае, если вы находитесь дома.

Очевидно, что даже в приведённом вами примере, локальный сервер надёжнее. Могу только повторить единственный плюс облачного сервера - простота.

при отсутствии интернета вы получите уведомления в том случае, если вы находитесь дома

Я бы сказал даже недалеко от дома. В деревне у меня WiFi от модема на столбе метров на 200 хреначит.

Очевидно, что даже в приведённом вами примере, локальный сервер надёжнее. Могу только повторить единственный плюс облачного сервера - простота.

Напомню, мы обсуждали изначально тезис "Интернет нужен в любом случае"

Не совсем так. Обсуждалась удаленная доступность сервера. А она может быть реализована не только через резервный канал на старом смартфоне, но и через SMS на/c него же, и через mesh сеть, и через CB/КВ модем, или даже через Iridium, VSAT и т.п.

Если облачному серверу для управления IoT интернет действительно необходим, то локальный сервер вполне может обходиться без него в аварийном режиме (без передачи видео/аудио), используя другие средства связи.

Может. Наверное для определенных отдаленных производств так и есть. Но для пользователя, очевиден тренд на повсеместное внедрение Интернета, как стандарта образа жизни. Поэтому, тезис и был "Интернет нужен в любом случае", это не значит что без него не бывает, это значит, что если у нас появляется малейшая возможность к нему подключиться, то мы ей обязательно воспользуемся.

Не понял к чему это? Я лишь утверждаю, что при падении основного интернет канала сервер в облаке превращается в тыкву, не имея возможности управлять IoT устройствами. Тогда как локальный сервер не только продолжает работать, но еще может удаленно управляться через альтернативные каналы. Зачем нужен удаленный сервер, если надежность у него ниже, а преимуществ - никаких?

преимуществ - никаких

без комментариев

Недавно отключали свет. Узнал что сотовой вышки нет бесперебойника. Темно и связи нет. Какие могут быть облака?! Зачем вам облачная отказоустойчивость? В случае поломки домашнего сервера дом станет тупым и все. Вы не потеряете ничего.

При моём прямом или косвенном участии построено несчётное количество “сотовых вышек” для всех наших ОпСоСов, и уверяю — не бывает “сотовых вышек” без “бесперебойников”. Но поскольку аккумуляторы у “бесперебойников”, применяемых на абсолютном большинстве наших “сотовых вышек”, внешние, они — естественно — являются лакомной целью воров. И их таки прут “по чёрному”.

А сейчас ещё по понятным причинам есть их (аккумуляторов) ощутимый дефицит.

Откуда дефицит, если не секрет? Свинца в РФ что-ли мало стало? Никель для таких целей мало пригоден. Литий, если нет ограничений по объему и массе - нерентабельно. За год десяток-другой циклов от силы наберется. А через 5-7 лет все равно менять как свинец, так и литий.

>> Где должен находиться сервер Умного дома, в облаке или в локальной сети?
В реальности такого вопроса не стоит от слова совсем. Во-первых задержка до удалённого сервера будет бесить. Даже когда сервер дома, задержек с zigbee а тем более wifi хватает. А во-вторых куча точек отказа добавляется. Интернет не оплатил - умный дом умер, кто-то перебил кабель провайдера, выкатили кривой апдейт в облако и прочие проблемы, нет уж, спасибо.

Вы правы. Однако, есть и факт существования облачных сервисов. И даже у них есть достаточное число пользователей. Значит на их стороне тоже правда. Столкновение двух правд и есть диалектический вопрос.

Пользовательская база подобных сервисов, в основном состоит из людей, которые абсолютно не понимают как это работает и совершенно не хотят в это вникать (и стоит признать, что таких большинство) им нужно чтобы было удобно, им не хочется вникать, нужно чтобы были красивые большие кнопочки и управление из "любой точки планеты". Именно на подобную аудиторию и ориентированы клаудные сервисы. Такую аудиторию удобно подсаживать на облачные сервисы, а потом внедрять всяческие подписочные модели монетизации. Но на хабре, все ещё, аудитория это технари, и вы, со своим решением, просто попали не по адресу)

Простите, но Вы хотите меня всё время отсортировать по признаку "свой" или "чужой" ))) Я не тот и не тот. Моя идея именно уйти от радикализации идей облачного или локального сервера.

С чего такой вывод? Я никаких ярлыков не вешаю, а лишь рассуждаю о вашем проекте и облаках в целом.

на хабре, все ещё, аудитория это технари, и вы, со своим решением, просто попали не по адресу

Мое решение, не есть облачный сервис! Да, я понимаю, что мы привыкли мыслить категорично. Что такое свет? Это волна или частица? Вот так и суперсервер он может быть и облачным и локальным. А Вы видите в моём решении только облако, а слово локальный игнорируете. Ну так и со светом, есть опыты показывающие его корпускулярную природу, а есть опыты показывающие волновую. Можно выбирать только один вариант, так проще для понимания, но это будет не истинное положение вещей.

Господином де Бройлем был постулировал корпускулярно-волновой дуализм света, что значит свет является в полной мере и частицей и волной. Ваш проект является в полной мере облачным, и инвалидом-кастратом в локальном режиме. Так что давайте не будем передёргивать и тянуть кота за причинные места в долгий ящик.

Во-первых задержка до удалённого сервера будет бесить.

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

Всё думаю, есть ли смысл рассказать как у нас устроено.

Дело в том что никакой это не rocket science, да и дом-то не умный (я таких и не видел), но сделано с размахом и развивается.

Одно использование контроллеров S7-1500 чего стоит, плюс в связке с Crestron.

Я в своей системе сделал локальный сервер. Пользуюсь больше 5 лет, всякое бывало )) много раз перелазил через забор, т.к. ворота не открывались) но это все ерунда, ничего критичного. И вот я пришел к выводу, что без управления с инета можно спокойно пережить какое-то время, главное - продублировать функции через физические кнопки (у меня кнопки могут нажиматься от 1 до n - и выполняются определенные действия).

А дублировать канал? У меня основной канал через симку одного провайдера и модем, а резервный - через симку другого провайдера и старый смартфон. Ну а дублировать надо не столько кнопки, сколько предусмотреть ручное открывание ворот даже при отсутствии электричества.

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

Я согласен с Вами. Наверное поэтому и реализовал у себя режим автономности "последний рубеж". То есть, предполагается, что даже с локальным сервером или с роутером или с сетью может что-либо произойти. Поэтому в самом контроллере, есть примитивный способ задать некие пороговые значения. В этом случае, если сервер (локальный или облачный не имеет значения) не обращается к контроллеру в течении какого-то заданного времени, то контроллер берет управление на себя. Скажем так, некий автопилот, который совершит мягкую посадку, до возобновления связи.

Устройствами соответствующего проекта.

Прочитал. Ничего не понял. Если речь о VPN на роутере, то удаленный сервер, по сути, уже в локальной сети. Так же как ноутбук можно в офисе воткнуть в локальную сеть, а вне офиса поднять VPN и оказаться в локальной сети офиса через него. И даже конфигурацию не надо править. Получили по dhcp на сетевой адаптер реквизиты локальной сети - прекрасно. Получили что-то иное - поднимаем VPN.

то удаленный сервер, по сути, уже в локальной сети

Это и есть квинтэссенция. Кот одновременно и жив и мертв, а сервер одновременно и в дата-центре и в локальной сети.

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

Квантовая неопределённость, это парадокс, который учит мыслить нас определённым образом. Речь конечно, не о локальном сервер подключенным к Интернет. Хотя, его тоже можно представить в суперпозиции, как Вы описали. Речь о том, как объединить преимущества локального домашнего сервера и облачного сервера, что находится в дата-центре.

Это совершенно не принцип суперпозиции. Состояния сетевых интерфейсов не связаны. Более того, вероятности их перехода в разные состояния классически складываются, что уже противоречит определению принципа суперпозиции.

Принцип суперпозиции — допущение, согласно которому результирующий эффект нескольких независимых воздействий есть сумма эффектов, вызываемых каждым воздействием в отдельности.  https://ru.wikipedia.org/wiki/Принцип_суперпозиции

2 раза перечитал и ничего не понял. Что мешает поставить Home assistant внутри четя и сделать все локально?

Ну и по конфигурации, зачем настраивать крон на хосте, если можно спокойно завернуть его в docker-compose и получить более стабильную систему из коробки?

Что мешает поставить Home assistant внутри четя и сделать все локально?

Объем трафика, задержки, другая архитектура, другие отношения у HA с контроллерами.

Ну и по конфигурации, зачем настраивать крон на хосте, если можно спокойно завернуть его в docker-compose и получить более стабильную систему из коробки?

Не могу сказать. Из того что я понял, докер не желательно использовать для крон-заданий.

используя "пару тройку лет" и пережив несколькократное обрушение системы пришел к выводу. что система умного дома должна строиться следующим образом. конечное устройство управляет объектом автономно делясь и получая данные через mqtt. далее же система умного дома управляет и настраивает контролер конечного устройства.. то есть. например в холодильнике у меня стоит есп реле и управляет режимом охлажление оттайки. по mqtt отправляется статистика, состояние и текущая температура, хомассистант строит графики температуры для анализа состояния холодильника. аналогично организован полив теплицы. а вот звонок который состоял из двух устройств кнопки зигби и перепрошитого зигби маршрутизатора от МiHome неоднократно выходил из строя. то сервак сломаю , то свисток зигби неправильно перепрошью. то отвалится кнопка(села батарейка пришлось пересопрягать). . голосовое управление кстати использую от можордомо. по мктт управляется паралельно хомасистенту. и речь где должен находиться сервер не стоит. - только локально

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

Будет интересно почитать об вашем решении . Не желаете статейку запостить? особенно интересно работа с таскером.

если честно, писать что то объемное всегда вызывало у меня трудности, и таскер для меня по сих пор дремучий лес, но с распознаванием голосовых команд немного разобрался.. там в принципе просто, необходимы два плагина к нему, autovoice и mqtt, больше сложностей было в настройке телефона, чтоб разрешить фоновую передачу данных, запуск таскером других приложений, перехват кнопок, для запуска распознавания голоса, хотя можно просто по ярлыку. по сути в таскер профиле создаётся событие, и выбирается плагин autovoice и там пункт Recognized, после чего все слова сказанные по нажатию ярлыка autovoice попадают в переменную %avcomms(), затем создаётся tasks в котором обычные ЕСЛИ условия, и сравнивается с заданные значения с значением переменной(можно несколько различных на одно действие) на пример "включи свет" вруби свет" и тд, и если такой текст присутствует в этой переменной, то выполняется действие, в моем случае он публикует в mqtt необходимые данные, на эти данные подписаны уже исполнительные устройства которые я реализую на ESPшках, можно так же по команде озвучивать данные из нужных топиков с помощью tts, на пример на вопрос "какая влажность дома" а так же производить с ними операции, обобщать и тд..

Провайдер что-ли не предоставляет IPv6?

Идеи не понял...

Вижу реализацию в лоб: 2 сервера - один локальный, второй облачный, и синхронизация между ними: какие входящие данные (управляющие команды/настройки) свежее по времени, те и используем.

При чём тут суперпозиция вообще не ясно, но слово прикольное, да.

Очень интересные размышления. Главное - актуальные. Предлагаю рассмотреть оба варианта, но с другой стороны. Сделать вообще распределенную систему умного дома, в которой локальные контроллеры самостоятельные единицы и не привязаны к софтверной логике, они могут работать не зависимо от локального сервера (при потере связи с ним). Локальный сервер - это больше визуализация и объединение данных + комплексное управление. Облако - в большей мере - это удалённый доступ без каких либо сокетов, которые отвечают за управление, визуализация и ограниченное управление. Как показывает практика промышленной автоматизации - лучше всего иметь распределены системы. Они как правило надёжнее и не влияют на соседние процессы. Это мои мысли, но возможно они будут полезны.

Спасибо за мысли, они интересны. Да, идея распределенности мне импонирует тоже. В одном из комментариев я писал, что сейчас контроллеры имеют свой режим автономности на уровни прошивки. То есть "отвалившись" от связи с локальным или облачным сервером (неважно), они переходят в режим упрощенного алгоритма работы. Да, у меня была мысль, чтобы сделать так чтобы контроллеры всегда могли работать без сервера, если нет связи, то есть дублировали внутри себя полностью все алгоритмы сервера. Но проблема в том, что сервер все-таки нужен потому что: 1) он можем объединять контроллеры в "умную сеть", то есть управлять определенными стратегиями (режимами), которые состоят из совокупности задач, основываясь на показателях других контроллеров; 2) с ним проще создавать Умный дом по частям, от одного контроллера к ста контроллерам; 3) он позволяет легко объединять контроллеры принципиально разных сетей, то есть разных мест (например, контроллер оповещения в доме может дать сигнал о том, что происходит на даче; метеостанции могут собирать данные находясь на существенно расстоянии от зависимого объекта) как если бы они были в одной сети. Есть даже идея о том, что пользователи одного сервера могут предоставлять доступ к показаниям своих контроллеров другим пользователям, которые на их основе могут закладывать переключение режимов работы своих объектов.

Где должен находиться сервер Умного дома, в облаке или в локальной сети?
Ответ скорее всего в Web3.

Честно говоря вообще не понимаю дебаты по поводу сервера умного дома (локально или в облаке). Сама фраза "Умный дом" говорит сама за себя - это умный ДОМ! = некий объект в котором реализуется некая последовательность ЛОКАЛЬНЫХ действий в зависимости от ЛОКАЛЬНЫХ же переменных. То есть практически всё что необходимо автоматизировать в умном доме справедливо для самого дома и при нахождении в нём за исключением лишь информационных уведомлений. И сервер управления ОБЯЗАН быть локальным!

Наш мозг находится в голове и управляет телом))) потеряете связь с головой - утратите весь функционал организма.

Сработал датчик протечки? - закрыть кран водоснабжения

Превышение влажности? - включение вентиляции

Включить свет? - нафига если дома нет никого?

И т.д. и т.п.)

Наш мозг локальный или облачный? ) С одной стороны, у него есть некие локальные зоны, каждая из которых отвечает за определенные функции: зрения, движения, обоняния, речь и т.п. Однако, вот не задача, есть примеры, когда, у тратив одну часть мозга (инсульт например), мозг "перекидывает" локальные функции на другие участки. То есть, проявляет себя как облачная распределенная структура.

Правильно, мозг перекидывает локальные функции на другие "локальные" участки в пределах нашего организма (читать "Умного дома")))

Да, но чтобы делать такие "фокусы" мозг должен быть локально-облачной структуры. То есть, он(мозг) тоже находится в суперпозиции )

Нет, для этого мозг должен иметь некий минимальный уровень связности между всеми локальными зонами. Именно поэтому, после лоботомии, когда рассекаются связи, мозг восстановиться уже не может.

В IT аналогом является fail-over кластер с мульти-мастер репликацией. Но суперпозицией в квантовом смысле его назвать нельзя, так как не выполняется равенство линейной комбинации состояний.

Не могу понять, Вы сами придумываете отвлеченный тезис и тут же его победно опровергаете... Я что писал про отсутствие связей? Я писал что нет четкой специализации какой-либо области нашего мозга. Да, вроде есть вот ориентировочная зона речи, но если она будет повреждена, то её функции частично и через продолжительное время может быть взята другой зоной.

Читайте внимательней, раз не понимаете. Вот сразу же:

вроде есть вот ориентировочная зона речи, но если она будет повреждена, то её функции частично и через продолжительное время может быть взята другой зоной

Может только при связности выше определенного уровня. А без этого уровня связности, повреждение только связей, а не зоны речи, приведет к полной утрате речи.

А так как во главе угла у нас оказываются не участки мозга (сервера), а связи между ними (интернет или локальная сеть), то чем надежней связь, тем адаптивней система. А локальная сеть всегда надежней интернета.

Sign up to leave a comment.

Articles