Комментарии 98
P.S. Мой личный опыт относится в основном к промышленным системам, про которые автор упомянул в дисклеймере, но чёрт возьми, разработчики! почему нельзя и в промышленности думать о людях при разработке?
Одному важно следить за затемнением перед сном, другому начхать, третьему важно видеть напряжение в сети( это я о себе) и задействованных потребителей, а четвертому нужно выключать утюги забытые.
Отсюда многообразие, от многообразия — большие вложения в устройство, которое сможет охватить большое кол-во потребителей. Большие вложения, влекут высокую цену и непривлекательность для масс-маркет.
В промке все немного похоже на дом, плюс, добавляются пропиетарные интересы компаний производителей, конкуренция однако…
Плюс никто не отменял наследственность — всегда проще расти базируясь на уже созданном решении, даже если оно уже «слегка выпало из времени»…
Да, плевать. Да, всем. Читающий — тебе на это тоже плевать) Иногда ты этого хочешь, но сам ты для этого ничего не сделал. И ты сидишь и ждешь, пока тебе это сделают другие, правда же?
Выводы.
Конечно это давняя проблема размытия термина до его окончательного формирования, но все же. Почему я говорю о не совпадении этих вещей, да потому что я вот уже 15 лет пользуюсь этими самыми умными системами. И именно системами, а не подменяющими их функции свистелками, разработанные маркетологами, а не инженерами. Призыв делать понятные, удобные интерфейсы дело очень правильное, однако, мне хотелось бы напомнить формулировку бритвы Оккама в прочтении Эйнштейна: «Всё следует упрощать до тех пор, пока это возможно, но не сверх того». Знаете, вот у меня приточно-вытяжная вентиляция с роторным рекуператором и 10 зонами управления переменным расходом воздуха. Ну вот никак я с помощью милых сердцу современников Nest, я не заставлю это работать, а вот с помощью EIB/KNX это трудится уже больше 10 лет, и работает совместно с парой котлов, кучей насосов и прочих треходовых клапанов. Всегда можно списать на нарушение дисклеймера, но я хочу сказать, что я не подвержен профессионально деформации и даже не притащил домой ни Profibus, ни LON, ни даже довольно удобный Modbus (какой-то из десятков диалектов). Это вполне бытовая система, разработанная лидерами рынка инженерии эпохи назад по меркам ИТ. А вот движение и развитие систем согласно вашему манифесту, может привести к достижению локального минимума удобства и уверенности в том, что все что сложнее вкручивания лампочки невозможно для пользователя.
Соглашусь с тем, что есть классы устройств (чаще всего не систем), которые должны быть простыми: умная лампочка, умный выключатель, умный пылесос, умные шторы и тд. А вот система отопления умного дома — это уже более осмысленная вещь, ровно как и правильное проектирование сети электроснабжения. Излишнее упрощение может приводить к очень неприятным последствиям.
Мое личное мнение, что провод всегда лучше радио. Всегда. Но бывают ситуации, когда их сравнить нельзя, например, отделка сделана, а кабеля нет — тогда радио сравнивается не с кабелем, а с отсутсвием возможности построить систему. Когда у вас умная комната или небольшая умная квартира, то может и не будет большой проблемы, но умный дом, сотни устройств, радио и батарейки с учетом физических особенностей помещений приводят к забавным вещам: выключил лампочку (физически) и ваш координатор никак не связан с конечными устройствами в дальней комнате. Короче говоря, не существует универсальных максим, кроме того, что обо всем следует думать сначала, а потом делать, хотя Ваш пост как бы намекал, на то, что думать должны только разработчики, не обременяя бедного пользователя излишними размышлениями.
Хотелось еще и про API написать, в контексте первых пунктов манифеста, но уже и так много букв
Ну и в копилку позитивного восприятия, очень меня улыбнул КДПВ: дерзко в блоге Samsung фоточку линейки Aqara/Mijia Xiaomi публиковать. С удовольствием пользуюсь их устройствами в дополнение к инженерным Siemens (включая швейцарский SBT), ABB, Jung, Bosch, Buderus (хотя они уже тоже Bosch)
но я хочу сказать, что я не подвержен профессионально деформации и даже не притащил домой ни Profibus, ни LON, ни даже довольно удобный Modbus (какой-то из десятков диалектов)
Одно то, что вы знаете эти названия, уже свидетельствует в пользу нарушения дисклеймера :)
А если серьезно, то граница применимости части пунктов в этой статье как раз пролегает по «умение сделать что-то большее, чем вкрутить лампочку/поменять розетку». Просто потому, что я говорю про потребительский рынок. Сложная приточка — это не консьюмерский рынок, и все. Начиная с того, что ее установка несколько сложнее замены лампочек и розеток, и стоит немного больше лампочек и розеток, и заканчивая тем, что такая система нужна довольно малому проценту людей.
такая система нужна довольно малому проценту людей
Объективно нужна она как раз всем, только не все об этом знают и ещё меньше готовы платить.
А вообще согласен по всем пунктам, кроме радио. Провод был, есть и будет
Спасибо, что описали манифест по которому у меня разработан и работает мой "Умный Дом". Теперь осталось на основе этого манифеста привести примерную топологию и выбор компонентов.
Кстати, один момент в манифесте не учтен и я бы предложил его добавить в дополнение к разделу 6:
Еще на этапе проектирования должна быть заложена доступность системы на уровне 99,9% и выше. Это означает, что при любой, даже самой страшной поломке, система не должна переставать работать на большее время, чем 8 часов в течении года. Это время включает и ремонт контроллера и бэкапы и апдейты. Поэтому надо обеспечивать а) горячий или холодный резерв, б) автоматические бэкапы, в) возможность быстрого перезапуска системы самим пользователем на резервном железе, без ожидания приезда специалиста.
Оглядитесь вокруг. Все что сделано вокруг — ИСКУССТВЕННО УСЛОЖНЕНО. Именно так. Потому что проще делать как было 100 лет назад. А еще проще как делали 1000 лет назад)
Но зачем-то, на длинных временах все это усложнили. Да, проще прибить гвоздями три кривых доски. Но почему-то грандиозно заморочились, применили лютую химию, физику и даже математику, и всем выдали очуменной [я еще раз подчеркиваю] ОЧУМЕННОЙ СЛОЖНОСТИ шкафчики. В обычных шкафчиках применены сотни технологий. Зачем это?) Это же сложно!
Тут момент в том, что вы к этому привыкли и считаете уже как должное. Но отбери у вас эти шкафчики и выдай вам три доски сколоченных гвоздями — вы же начнете вопить, не так ли?))
Так прибавляет эти самые плюсы для пользователей искусственное усложнение? Вы же пишите что незначительно прибавляет? А выясняется что очень даже значительно, ага?
Выводы:
На короткую перспективу вы правы.
Но на длинную перспективу — абсолютно не правы.
Мир только и делает, что катастрофически усложняет сам себя, только лишь затем, что бы в итоге было проще, надежнее, понятнее, геморроя меньше, проблем меньше, и да, не забывайте про искусство, и оно тоже учитывается)
ВСЕ ЭТО ВОЗМОЖНО, ЕСЛИ СОБЛЮДАТЬ ПОДОБНЫЕ МАНИФЕСТЫ НА ДЛИННОЙ ПЕРСПЕКТИВЕ, и по-другому никак. Ничего другого пока не придумали.
И да, еще момент. На длинную перспективу работают 5%, а на короткую 95%))))) И это тоже нормально. Выбор за вами) Или вы делаете однодневки. Или же делаете как бы пафосно оно не прозвучало, да пусть — «вещи» мирового масштаба) Выбирайте. Вас никто ни к чему не принуждает вовсе.
Хотя безусловно, я уверен, что через 100 лет такого рода технологии будут восприниматься как само-собой разумеющееся, и будут входить в чек-лист по выбору мебели для кухни средней семьи: «Пункт 25. Шкафы должны быть оборудованы зонной климатикой, а в мусорке должен быть установлен компактор».
Но это будет достигнуто только тогда, когда стоимость этой климатики будут достаточно незначительна по сравнению со стоимостью всей мебели. Именно поэтому сейчас у нас на кухне шкафчики с дверками, шурупами и сотней технологий: потому что стоимость этого шкафчика не сильно отличается от трех досок с гвоздями. Цена и того, и того на вторичном рынке часто меньше стоимости перевозки этого на другой адрес.
Но эти шкафчики по такой цене не появились по мановению волшебной палочки или после написанию манифеста. Их появлению предшествовала долгая эволюция материалов, инженерных подходов, подходов к управлению производством, взглядов людей, которые эти шкафчики покупают, наконец.
Смешно думать, что написание в этом манифесте тезиса «надо обеспечить отказоустойчивость 99,9%» сразу эту отказоустойчивость обеспечит. Надо ориентироваться на возможности рынка, как в плане производства устройств, так и в плане покупательной способности. И заложить избыточную по меркам рынка надежность, пребывая в полной уверенности, что это именно то, что надо людям, и за что они готовы платить больше, чем конкуренты — верный способ прогореть.
Ммм… Понимаете, какая штукаПонимаю) Но я не пишу манифестов, и многое не учитываю, в писанине. А на самом деле я ВСЕ учитываю, я ж специалист теории информации. Другое дело, что описать сразу и все — невозможно. Но разве «в природе» это что-то меняет?) Оно как двигалось только в одном направлении — т.е. по манифестам — так и будет двигаться.
Напишите проще, даже можете добавить в манифест, если хотите. Ну что-то типа того: юзайте уже известные, дишовые и проверенные технологии, и на основании уже «железобетонного» городите новые. Другое дело, что поиск из сонма имеющихся технологий наиболее подходящщих для поделок — это не тривиальная задача конечно же, ну так это детали)
Смешно думать, что написание в этом манифесте тезиса «надо обеспечить отказоустойчивость 99,9%» сразу эту отказоустойчивость обеспечит.Смешно. И не смешно. Объяснюсь. Это ж манифест у вас) Не стесняйтесь. Пишите как оно ДОЛЖНО быть. И да, 99.9% — это смешно)))) Не стоит так писать. Надо писать 100%. Ибо 99.9 в периоде — это прошлый век. Уже прошлый. ДА, ПРОШЛЫЙ. Нынешний век — это век криптографии. А как «всем известно» [впрочем опять же далеко не всем], любая система отказоустойчивая на 100% только в одном случае — если она криптографически отказоустойчивая и это математически доказано) Смотрите, у вас есть винчестер, как бы вы не корячили наработку на отказ и прочее-прочее-прочее «прошлого века» — ничо не выйдет) Вы получите 99.99..., но применив криптографию — вы и получаете «винчестер самсунг» 100% отказоустойчивый) Я не про то, что он не ломается, я про другое. Я про то, что данные «туда-сюда» на винт перемещаются с помощью пары глобальных технологий. «Старые» технологии отказоустойчивости — это 99.9, новые, как раз таки доводящие «систему» до 100% — это криптография) И без криптографии никак. Хотите 100 — только криптография, без вариантов. Но это никак не отменяет старых глобальных и великолепных технологий, типа наработок на отказ и т.д.
Вырисовывается еще один пункт в таком случае. Что-то типа: объединяйте технологии, юзайте их совместно) И на самом деле, я даже примеры знаю и много — даже казалось бы необъединимое — можно объединить, и получаются в итоге такие грандиозные «штукенции», что диву даешься)) Но конечно же это все нетривиально, а в итоге просто)
И еще момент: есть теория типов, ну или логика высших порядков, или теория абстракций — называйте как хотите.
Так вот я бы обозначил следующее: все что не делается, должно в итоге описываться меньшим кол-вом абстракций, чем было «до». Про сложность абстракций я ничего не говорю. Вообще ничего. Сложность абстракций должна быть соизмеримой. Я говорю про их кол-во.
На пальцах: для юзера что-то описывалось пятью абстракциями, вы искусственно усложнили, и в итоге это усложненное стало описываться тремя абстракциями, причем реализацию усложнения юзер конечно же не видит. Для юзера было пять, стало три. Причем эти «юзерские» абстракции по сложности должны быть соизмеримы. В итоге для юзера выйдет проще? Да! Отчасти похоже на ооп не так ли?) А так и должно быть. Действуйте)
Вообще, теория простого и сложного — это «краеугольный камень» этого всего)) Попытайтесь объяснить что это. Не все это понимают к сожалению. И, возможно, непонимание этого — и приводит к невменяемым поделкам в итоге. И да, теория простого и сложного — это как раз таки пункт номер ноль вашего манифеста. А все остальное что вы написали — это «всего лишь» следствие пункта 0. Забавно же?)
А типа, если бы эти лампочки были проводные, их никто бы не взломал? С вот многие компьютеры подключены по проводам, но это не мешает их заражать всякими вирусами. ВсЯкие Айпи камеры тоже шпионят, хотя совсем не радио.
Это я к тому, что считать радио априори опасным, а провода пюаприори безопасными — неправильно. В первую очередь следует ориентироваться на софт, который крутится в этой железке. Если это неизвестно кем написаный WiFi на линуксе — то вероятность одна. А если это стандартизированный и скртифицированный стек на 8-битном контроллере, зашитый туда на века — это другое. И вероятность взлома совсем не очевидна.
P.S. Если бы «эти лампочки были проводными», то их и не надо было бы взламывать — ибо то, чем они взяли рынок(легкостью установки системы в любом доме без необходимости прокладывать слаботочку и переделывать ремонт) невозможно сделать на проводных технологиях.
Да, я знаю про X10 и иже с ним, но у него есть свои минусы, и как видим, эти минусы достаточно значительны, чтобы не быть особым конкурентом радио.
1) Количество потенциальных точек взлома равное количеству устройств, что всегда менее безопасно чем одна точка. Кроме самих алгоритмов, в которые изначально законодательно заложены бэкдоры, есть ещё реализация, которая может содержать уязвимости вследствие ошибок. И любая экспертиза и сертификация лишь уменьшает вероятность их наличия, но не исключает полностью.
2) Как следстве первого, плюс ограниченность ресурсов простых устройств — дополнительные сложности с закрытием выявленных уязвимостей.
3) Принципиально большие трудности с обнаружением источника атаки.
4) Если, как предлагается в статье, строить сеть как mesh — дополнительный мотив заражения, которое может вызвать проблемы с безопасностью функционирования даже без намерения атакующего.
DES считался надёжным 22 года, и был взломан. AES существует ещё не так долго.
И все же вы вводите потребителя в заблуждение:
1) Для взлома интересны не абсолютно все радио-реализации, а только те, которые открывают злоумышленнику широкие возможности по внедрению в домашнюю сеть или в жилище. И если вы возьмете тот же Z-wave, то обнаружите, что протокол там настолько ограничен, что максимум, что злоумышленник может сделать — так это подать пару неправильных команд или попытаться зафлудить сеть своим 1мВтным передатчиком. С добавлением шифрования первая возможность уже тоже исключена. Поэтому то, что таким образом получить доступ к удаленным устройствам через лампочку — это больше фантастика, чем реальность. В других аналогичных протоколах ситуация обстоит примерно таким же образом. С Wi-Fi ситуация обстоит, конечно, иначе.
2) "в которые изначально законодательно заложены бэкдоры" — можно источник этого тезиса?
3) Надеюсь вы понимаете, что ваше утверждение "не нужно обновлять или заменять несколько десятков недешевых лампочек, достаточно настроить, обновить, или заменить файрвол" создает только иллюзию безопасности? А иначе никто бы не заставлял нас обновлять домашние и рабочие компьютеры по любому чиху, хотя они стоят за десятком различных фаерволов? Поэтому хоть в проводной, хоть беспроводной сети вам все же придется обновлять софт и на IoT устройствах, хотя не исключаю, что многие на это забивают.
4) Еще насчет "безопасности" проводов — уже много лет заметна тенденция шифрования интернет трафика — HTTPS и прочее, даже если он передается по проводам. И на это есть определенные и логичные причины. И вот представьте, что у вас проводная IoT сеть. Если к ней подключится злоумышленник и если шифрования у вас нет — то можно сказать, что все, приехали. А вот если вы начнете шифровать, то возможно ваши устройства это уже не потянут по ресурсам. В каком направлении вы представляете будущее движение в этом случае? Вы думаете, что в этом случае беспокоиться не о чем? "Файервол все разрулит и от всего защитит?"
2) об этом напишу позже.
3) «обновлять домашние и рабочие компьютеры по любому чиху» нужно потому, что они обмениваются данными с удалёнными внешними устройствами напрямую. С устройствами умного дома ситуация иная — обычно они управляются через центральный контроллер, который не передаёт им никаких команд без преобразования. Это практически исключает возможность внедрения кода или неавторизованного управления такими устройствами напрямую из интернета, через штатный канал управления, без взлома контроллера. В случае с Ethernet остаётся вероятность взлома через разные дополнительные и сервисные каналы, но она перекрывается файрволом.
4) Интернет трафик нуждается в шифровании потому что он идёт непонятно через какие каналы и оборудование, и может быть перехвачен или подменен во множестве мест. Пользователь даже не может быть уверен что он не передаётся по беспроводному каналу на каком-то из участков. Если физическое ограничение доступа ненадёжно — шифрование нужно и для проводного подключения. Но ситуация с массовым вирусным заражением целого района в этом случае возникнуть не может — физический доступ нужен отдельно к каждой домашней сети.
С устройствами умного дома ситуация иная — обычно они управляются через центральный контроллер, который не передаёт им никаких команд без преобразования. Это практически исключает возможность внедрения кода или неавторизованного управления такими устройствами напрямую из интернета, через штатный канал управления, без взлома контроллера. В случае с Ethernet остаётся вероятность взлома через разные дополнительные и сервисные каналы, но она перекрывается файрволом.
Ваши слова расходятся с реальной практикой производителей в этой области. Практически все IoT устройства с Ethernetом на борту, будь то выключатель, реле или лампочка, сегодня частенько лазят в интернет за новыми прошивками, а многие еще и требуют подключения к "облаку" производителя, чтобы заработало управление с телефонов и других гаджетов через фирменные приложения "из любой точки земли". И делают они это не через какой-то центральный контроллер, а напрямую, залазя в интернет своими слабенькими процессорами. Взламываем облако и получаем доступ ко всем этим устройствам сразу и никакой домашний фаервол не спасет.
Если устройство не может работать без подключения к «облаку» — оно не очень-то вписывается в само понятие «умный дом»
Озвучьте же свое понимание термина «умный дом», а то оно у вас как-то отличается от общепринятого.
«Умный дом» — это очень базовое понятие, которое можно обсуждать и корректировать только на том же самом, базовом, низком уровне. Вносить туда определения с более высоких уровней — неправильно.
Это все равно что в обсуждении термина «автомобиль», в котором выработали что-то вроде «устойчивый самодвижущийся механизм на колесах для перемещения людей, находящихся внутри», и спорят о том, признавать ли машиной механизм, который может еще и летать, влезть с «а вот в машине должна быть еще и магнитола, какая же машина без магнитолы, ребят». Закономерным ответом на это будет «шел бы ты, мальчик, куда подальше со своей магнитолой, мы тут более глобальный вопрос обсуждаем».
Так и с умным домом — пытаться туда пропихнуть «работу локально» приводит к разбеганию термина: когда один понимает УД как систему, работающую локально, второй как систему, которая дает возможность удаленного управления, третий по другому, и все три срутся на тему «вот ваш дом на самом деле не умный, а мой умный».
Жесткое определение термина «умный дом» как «система, берущая на себя часть рутинных действий по управлению домом» это как раз попытка провести четкую границу, с которой большинство вменяемых людей согласны. Не согласны только те, кто называет умным домом лампочки, управляемые с телефона, но на то я и уточнил: «вменяемых».
И если мы все-таки протащим в это определение что-то про автономию, мы сделаем только хуже: не автономные системы есть, и широко применяются. Нельзя отбирать у них право называться умным домом только потому, что они неправильно спроектированы(из-за непонимания принципов, в погоне за привязкой пользователей или потому что разработка проще, не суть важно), потому что это отрицательно скажется на самой возможности диалога: вместо объяснения «почему твой умный дом спроектирован не самым лучшим образом и как это исправить» получится монолог «твой дом не умный, а тупой, и даже не спорь со мной».
Так а где в «системе, автоматизирующей управление оборудованием дома» есть пункт о том, что это не может работать через облако?Система в целом может работать через облако, и это даже не противоречит концепции одного интерфейса как средства улучшения защищённости от взлома, если речь идёт о высокуровневых функциях и взаимодействии с внешним миром, удалённом управлении — в этом случае функции защиты доверяются производителю, у него для этого больше возможностей. Это плохая система в плане надёжности и защиты от самого производителя, если не предусмотрена возможность полноценой автономной работы. Но вот прямое управление через облако каждым отдельным устройством — совсем другое дело — в этом случае система виртуальная, не защищённая, и может развалиться в любой момент. Можно ли виртуальный умный дом называть умным домом? Наверное можно, но с большой натяжкой.
Но по сути под каждым пунктом подписываюсь!
Много разных систем автоматизации попробовал у себя дома, и промышленных и самоделок собственной разработки, приживались только те, о существовании которых домочадцы либо не догадывались, либо которые не отличались от обычных.
Например «Умный свет»
Теща, с женой как всегда клацают выключателями, совсем не задумываясь проводами он прицеплен или по радио. А я время от времени переключаю им свет в кухне через веб интерфейс, сидя у себя в кабинете. А всякие навороты со сценариями освещения и дистанционным контролем и управлением, остается чисто моей «игрушкой». Но всем особенно понравился функционал, «выключить весь свет» щелчком выключателя возле входной двери. Наверно только голосовое управление способно создать приемлемую альтернативу, простому выключателю. Но тут пока принцип надежности управления не позволяет делать его основным.
Но похоже полностью ни одна система ему не соответствует. Поэтому у меня пока нет умного дома в доме.
Получить бодрящие 220 Вольт при замене лампочки — хорошо, а включить водяной кран, без обвешивания датчиками затопления — плохо?
Как то первый абзац неаккуратно сформулирован.
Со вторым абзацем соглашусь.
Тогда необходимо добавить пункт 16: Чек-лист на каждое событие; и Пункт 17: Полный свод событий и действий пользователя.
Данные материалы должны присутствовать на пластиковых листах, в зоне действия всех датчиков.
На лампу ноль идет. И ноль выключатель не рвет.
Оно ВСЕГДА так должно быть, и оно описано во всех правилах построения и эксплуатации сетей, особенно домашних. Если в промышленных сетях допускается вольность, и да — допускается в некоторых случаях не рвать фазу, то в домашних сетях это исключается. Фаза обязательно должна быть разорвана.
Вывод: выключателем щщолкните, и лезьте в патрон любыми членами.
то в домашних сетях это исключается.
Я уже проехался по вашему идеализму ниже, но сделаю это еще раз. Надеюсь, я успею это сделать быстрее, чем вы где-нибудь залезете пальцем в патрон, свято веря в том, что фаза всегда и везде разрывается выключателем.
Более надежный вариант — выключаем автомат при горящем свете — свет выключается.
Если же мы ставим выключатель, работающий импульсом (один импульс — изменение состояния света вкл\выкл), то пользователь может использовать свой предыдущий жизненный опыт: нажал на выключатель при работающей лампе — свет погас — с полной уверенностью полез менять люстру\лампочку и в это время скрипт по датчику освещения\расписанию\ошибке подал напряжение на люстру… Мы то с вам конечно, знаем, что отключение должно производиться «выше по течению» только на автоматическом выключателе, но…
Но в общем, способ решения есть: если напряжение подали, а тока нет, то значит, лампочка отсутствует или не работает. Сгенерировать ошибку в лог и отключить питание.
«Так вы в общем случае тоже не всегда можете запомнить, выключен сейчас выключатель или нет. » — как раз в общем случае, если выклютчатель смонтирован на фазе — я вижу свет — выключаю свет выключателем и убеждаюсь в пропадании напряжения в цоколе.
В случае автоматической сработки и подачи напряжения — такой гарантии нету. Тут уже мудрить нужно что-то: переключатель «авто\мануал» в щитке, отключающий любую автоматику, прочие защиты и т.д. и т.д. — но стандартный механизм «лампочка потухла — напряжения нет» — может не сработать…
Необходимая безопасность уже описана в куче документов, касающихся сертификации пользовательских устройств. Более — исключительно по желанию. Максимум, на что я согласен — это в инструкции описать, чего делать не следует. Ну и какой-нибудь «режим обслуживания», в котором устройства фиксируются в том состоянии, в котором они сейчас. Кстати, используя схему с симистором, вы не можете быть уверены в разрыве фазы — это зависит от того, как вы коммутируете устройство при монтаже. Т.е. даже с точно выключенным устройством вы все еще можете поймать фазу на контакте. Решение — только двойное реле, которое рвет и фазу и ноль. Но ставить такое реле для защиты пользователя при ситуации, которая случается очень редко — глупость.
Сорри, тут взрослый мир, и если пользователь не обесточивает оборудование при монтаже или лезет пальцем в патрон, то он идиот, и производители системы за его действия ответственности не несут.
В корне не согласен. Как ни крути — перед тем, как лезть в цоколь лампы — в идеале нужно выключить автомат, её питающий. Да, нужно идти в щит, искать автомат, выключать его, проверять напряжение (а в режиме паранойи — проверять напряжение и на входе реле, коммутирующего нагрузку) — всё это ухудшение пользовательского опыта, которое позволяет сохранить этому пользователю, собственно, жизнь.
Порой действительно, подготовка к работе занимает в разы больше времени, чем непосредственно работа, но мы врядли можем с этим что-то поделать.
С обесточиванием мы вроде так или иначе согласны — пользователь должен обесточивать систему перед началом работ.
А как быть с восстановлением питания? Я восстанавливаю питание на питающем автомате и УД автоматически подаёт питание на лампочку? Во всяком случае, стандартная практика в промышленности — запрет автоматического запуска скажем, электродвигателей.
Может ли моя система автоматически продолжать полив газона после восстановления питания?
Может ли моя система автоматически включать то, что было включено до пропадания питания?
Наверное компромисс — это диалог пользователю: “Питание восстановлено. Продолжить полив? При нажатии „да“ клапан откроется автоматически»?
Опять и снова какая-то дичь. Зачем-то централизованная система. Зачем-то безумная. А где тут «ум»? Если это гавно само за собой последить не может?
Далее можно привести еще 1500 дыр, размером с телефонную книгу, с описанием того когда и где оно откажет. И к этому в десять раз больше описаний того, к чему оно приведет.
Ну автоматика умная должна быть — она дистанционно должна меня спросить «продолжить ли»Идиотство зашкаливает просто ага? Этот человек даже не понимает абстракции «ума»))) Разве умным считается тот, кто постоянно спрашивает что ему делать? Но вот до таких вот людей, которые даже с абстракцией «ума» определиться не могут — наипростейщие вещи и не доходят никогда. И уже никогда похоже и не дойдут.
Идиотство зашкаливает просто ага?
Я попрошу воздержаться от оскорбления участников данной дискуссии. Мне бы не хотелось нажимать кнопку «Report», потому что боюсь, что в этом случае снесут все ваши сообщения, а они важны для понимания контекста, и кроме того, имеют некоторый интерес в контексте понимания вашего способа мышления.
В данном же случае, например, в суде будет следующее: в определении будет сказано [опираясь на филологическую экспертизу], что оскорбления не было. А вот с вашей стороны — угрозы были, причем, вовсе не имеющие на то оснований.
Кнопки жать можете какие хотите) А вам это что даст-то? Подумайте. Впрочем вы и сами ответили уже)) Это хорошо.
Причем вы не учитываете того, что мне плевать совершенно, снесут там что-то где-то или не снесут. Я ничего не теряю совершенно. И не приобретаю тоже. А значит? А значит ваше действие мне безразлично по-определению))) Мне была бы разница, если бы вы ну например как-то ограничили мне доступ до того, что мне нужно. А здесь-то мне что нужно? Что тут я могу для себя нового словить? Ничего) А значит я ничего и не потеряю.
Выходит так, что ваша угроза во-первых безосновательна, а во-вторых еще и не приведет ни к чему. А теперь подумайте, почему вы это все не продумали заранее. И зачем вы пытаетесь совершить некие действия, которые ни к чему не приведут?
В корне не согласен. Как ни крути — перед тем, как лезть в цоколь лампы — в идеале нужно выключить автомат, её питающий. Да, нужно идти в щит, искать автомат, выключать его, проверять напряжение (а в режиме паранойи — проверять напряжение и на входе реле, коммутирующего нагрузку) — всё это ухудшение пользовательского опыта, которое позволяет сохранить этому пользователю, собственно, жизнь.
Тут вопрос в разделении границ ответственности. Я проектирую устройство и закладываю в него все, чтобы обеспечить безопасность его использования. Это означает, что на корпусе не будет потенциала, оно не сможет подать высокое напряжение на низковольтный разъем, там не будет контактов, за которые можно схватиться в процессе использования и получить удар током, и так далее.
Характерный пример такого дизайна — микроволновка. Вы не сможете включить микроволновку, пока дверца не закрыта, и вы не сможете получить ни 220v, ни 5kv на любой части корпуса. Однако, никто не рассчитывает защититься от пользователя, который целенаправленно заклинивает концевик и сует голову в микроволновку: это бессмысленно.
Тут я склонен придерживаться такого же подхода: устройство безопасно в процессе использования, но пытаться защититься от глупости пользователя, который, не обесточив систему, полез в патрон пальцем, несмотря на то, что замена лампы не требует этого делать, и вопреки предупреждению в руководстве «не обслуживать оборудование без отключения питания и не касаться токоведущих контактов частями тела», я не буду.
В данном случае, моя граница ответственности, как разработчика конкретного устройства — сделать устройство безопасным в использовании, а не сделать устройство, о которое будет невозможно убиться. Следование инструкциям и отключение питание устройств для их обслуживания — это уже ответственность пользователя.
Вы ЛАМПУ ловите или ВЫКЛЮЧАТЕЛЬ?)))))
Нет, ну правда, когда уже это прекратится?
Огромная проблема построителей «умненьких» систем в том, что они сами не понимают что хотят. Тем более они не программисты, а значит не учитывают «все», ибо все может учесть только программист.
Идем далее, только программист может построить вменяемое дерево абстракций системы. Это по-определению.
Следствие: берем лампу, ловим родителей/интерфейсы.
В первом приближении ИСПРАВНАЯ лампа имеет родительские интерфейсы iНагреваетсяable, iСветитable, причем враз. Не по-отдельности, а враз.
Покрутите абстракции, и получите ровно то же самое. Других интерфейсов уникальных для лампы нет. А значит вам нужно в патрон или сильно рядом с ним втыкать датчики нагрева и света, и естественно настроенные не абы как. Только так вы поймете — имеете вы включенную лампу или не имеете. Все остальное будет работать плохо.
Само собой интерфейс формы iFormable заведомо исключен из рассмотрения, т.к. он слишком сложен для детектирования формы лампы простейшими методами.
пс: но при этом интерфейс заполненности цоколя я бы все же не стал бы исключать, [как обозвать этот интерфейс одним словом даже и не знаю]
В итоге — проработанный кусок штуки, о котором они задумались, и полнейший провал во всем остальном. И то, этот проработанный кусок — весьма своеобразен, ибо понимания железа и физических процессов, а так же ограничений реального мира близко к нулю.
Что вот вы пытаетесь решить своими интерфейсами iНагреваетсяable и iСветитable? Что на лампа светится и нагревается. Это в вашем идеальном программистском мире.
Что у вас получается в мире реальном? Напрямую с лампы мы эти значения получить не можем. Значит, ставим датчики температуры и освещенности. Что мы с них получаем? Некое значение температуры и уровня освещенности. Как трактовать конкретные значения? Да хрен знает, об этом вы уже не задумываетесь, целиком поглощенные деревом абстракций. А еще говорите, что только программист может учесть все.
А если лампа на улице в -20? В зависимости от мощности она будет или греться совсем слабо, или не греться вообще. В итоге вы получаете произвольную температуру от -20 до 60 градусов, и непонятно что с ней делаете.
А если лампа в бане? В зависимости от места установки температура будет от 0 до 60 градусов при холодной бане, и от 40 до 100 при горячей. Даже если забить на то, что вклад лампы в эту температуру может быть от нуля до 100%, все равно непонятно, как понять, работает сейчас баня или нет. Что же делать? Завести в лампу интерфейс «лампа находится в работающей бане»?
А если лампа слабая и светодиодная и не греется совсем?
А если на лампу светит солнце? А если на лампу светят другие лампы? А если на лампу могут светить другие лампы, а могут и не светить? А если лампа с отражателем и не светит в другие стороны? А если лампа светит в УФ-диапазоне?
Все эти вопросы остаются без ответа.
Мир несколько сложнее, чем представляют себе программисты, озабоченные построением правильных абстракций.
Что у вас получается в мире реальном? Напрямую с лампы мы эти значения получить не можем. Значит, ставим датчики температуры и освещенности. Что мы с них получаем? Некое значение температуры и уровня освещенности. Как трактовать конкретные значения? Да хрен знает, об этом вы уже не задумываетесь, целиком поглощенные деревом абстракций. А еще говорите, что только программист может учесть все.Дерево абстракций строится вовсе не для ПО) Оно строится что бы понять общую систему. Общую логическую систему. И первым делом вообще пишется на бумашке. Потому что ни один человек дерево уровнем выше шести построить не может. Получается суммарная абстракция слишком сложная. А на это среднестатистические человеки не способны вообще. При этом итоговое ПО может писаться вообще на математике, что и делают. Ибо оно быстрее работает. Причем сильно быстрее. Накладные расходы на ООП иногда астрономические же…
А теперь вы расскажите, как вы будете реализовывать наличие работающей лампы вольтметром))) Ну так. Чисто поржать)
А если лампа на улице в -20? В зависимости от мощности она будет или греться совсем слабо, или не греться вообще. В итоге вы получаете произвольную температуру от -20 до 60 градусов, и непонятно что с ней делаете.В патрон как минимум датчики поставьте. Вам же вроде написано — максимально близко. А это и означает — максимально близко. Вы как совсем не ООП — пытаетесь сходу реализовать интерфейсы) А это путь вникуда. И да — реализация интерфейсов — это не логика высших порядков, это логика кванторов — и она никому не интересна вообще. Потому что это всего лишь — детали. Да) Всего лишь детали. Нафиг никому не интересные.
И детали таковы, если уж совсем интересно. Пишите лог температуры патрона — этого достаточно. Если график более-менее похожий изо дня в день [НУ ВЫ ЖЕ ПАТРОН С ЛАМПОЙ НЕ ПЕРЕНОСИТЕ ИЗ ЭТОЙ ВАШЕЙ БАНИ НА УЛИЦУ В -40 И ОБРАТНО КАЖДЫЙ ДЕНЬ ЧЕРЕЗ ДЕНЬ ХАОТИЧНО], то получаемые данные и будут изо дня в день примерно усредненно в каком-то диапазоне. Причем все это вы можете здорово отслеживать. Контроллером. В патроне. Если что-то идет не так — все отключится) Само. При установке патрона с лампой в первый раз где-то — нажмите резет. Кнопку на патроне епт. Маленькую такую. Далее оно будет работать само, само за собой следить и т.д. и т.п.
И вообще, что-то мне сильно подсказывает, что физик все это дело махом посчитает. Ибо нагрев остывшей лампы идет с т=окр.темп., и каждые 10 грд. увеличивается по формуле, до какого-то предела. Все это дело запишите куда нужно, настройте и успокойтесь уже а) Если вы ничего не можете, то это не значит, что остальные не могут, ага?
Мир несколько сложнее, чем представляют себе программисты, озабоченные построением правильных абстракций.Именно по-этому и стоят абстракции)) Что бы избежать сложностей не нужных. Но при этом суть одна. Логика должна соблюдаться. В пределах логики построенной логики абстракций. Оно упрощает жизнь и приводит систему в простой вид. Всегда. Не устраивает моя логика — постройте свою. Вам кто мешает-то? Это всего лишь пример был. Гипотетический. Наверние побольше реальности. Только в интерфейсы не суйтесь. И да, я так понимаю что у вас это не получится. Потому что судя по написанному выше — вы вообще не понимаете зачем нужен интерфейс как абстракция. И что он дает. Обратитесь к вменяемому человеку. Те программисты которых вы хаете — вполне вероятно не понимают зачем оно. Ищите понимающих. Они все вам разрулят, и жизнь сильно упростят)
Давайте пример, на пальцах.
Есть телефоны высшего и низшего ценового диапазона. Найдите самый лучший телефон в этих ценовых диапазонах, причем поиск должен быть реализован на пальцах) Условно говоря сильно тормозным контроллером — например человеком. Без бумашки)
Логическое решение. Строим дерево, смотрим, преобразовываем и т.д., получаем ответ: В низшем ценовом диапазоне нужно искать в телефонах хорошие параметры, потому что их очень мало. А плохие параметры у этих телефонов все равны, и они плохие. А значит перебор этих параметров ничего не даст. В этом случае перебор сокращается до пяти пальцев. Да, телефонов много, но хорошего в них мало) Хорошее и перебирайте. И перебор у вас грандиозно сократится)))) И так вы найдете в уме без бумашки [читай — сильно ограниченный контроллер] лучший телефон в низшем ценовом диапазоне, очень быстро найдете.
С высшим ценовым диапазоном ровно так же, только с точностью до наоборот. В этих телефонах нужно искать плохое. Потому что плохого там очень мало) А хорошее там все одинаковое — ну и нафиг вам одинаковое перебирать-то? Смысл в чем?
Человек, вы сильно недооцениваете логику абстракций))) Пока не поздно — пересмотрите свое так называемое мнение. И тут понятное дело, что вы с этим вообще не связывались, да и разбираетесь в этом как свинья в апельсинах, но хаете зачем-то)
И да. Не всякий пишущий ООП — понимает что он пишет) Имейте ввиду. Большинство — тупо пишут не понимая что они делают. Тем более — не понимают логики написанного. Уже встретьте реального программиста логики — вы в шоке будете от увиденного, я вам гарантирую.
А теперь думайте дальше. Но думать дальше абстракциями — вы не способны)))
И я тоже. А мне это и не нужно. Потому что я всего-то построю дерево абстракций и сходу получу решение. Логическое))))
За пять секунд.
Интерфейс заполненности наследует интерфейс вкручиваемости. И он точнее. Он логически точнее. Это следствие логического построения абстракций. Вы реально не вкуриваете что ли ПРОСТЕЙШИЕ ВЕЩИ?))))
Уточняем интерфейс. Оно должно ловить не заполненность. Оно должно ловить вкручиваемость.
А значит поставьте на резьбу цоколя последовательно по резьбе кнопки. Они и должны последовательно замыкаться при реализации интерфейса вкручиваемости)
И таким образом и только таким — вы получите замкнутую цепь. При этом — кнопки — это реализация интерфейса. Всего лишь. Вы можете капать и дальше. И найти еще более точное логическое решение. Но как вы будете реализовывать этот интерфейс — это всего лишь детали, и они не интересны.
Это уточнение — это СЛЕДСТВИЕ ЛОГИЧЕСКОГО ПОСТРОЕНИЯ))) ВЫ РЕАЛЬНО ЧТО ЛИ ДУМАЕТЕ ОНО МНЕ С ПОТОЛКА УПАЛО?)))) ахаха!) Ну нет же… Такого быть НЕ МОЖЕТ)
Берете абстракции, разруливаете — получаете нереально новые штуки. Сходу, быстро, мгновенно. Это дерево всего лишь двухуровневое, заметьте. Если начну строить шестиуровневые деревья — у вас от увиденных преобразований волосы на яйцах зашевелятся.
Итог: реализация оного грандиозна) Ибо эта реализация даст ток в цоколь тогда и только тогда, когда будет произведено последовательное замыкание кнопок [например], а это означает одно и только одно — в цоколь нужно что-то вкрутить. Само собой пытливый юзир взломает оную систему)))) Но! Вы можете поставить защиту от взлома. Если пытливый юзир будет отверткой нажимать кнопки, ТО КАК ОН БУДЕТ ИХ НАЖИМАТЬ?)))) Естественно хаотично. Отследите хаос. И блокируйте любой хаос. Блокируйте ток на патрон, при любой попытке нажимания кнопок не в установленном порядке. Условно говоря вы должны отследить последовательное нажатие. Если у вас есть кнопки А, Б, Ц, Д. То вкручивая лампу — они нажимаются АБЦД. НАЖИМАЮТСЯ ОНИ С КАКОЙ СКОРОСТЬЮ ПО ВРЕМЕНИ???? ВЫ ЭТО ТОЖЕ ОТСЛЕДИТЬ НЕ МОЖЕТЕ ЧТО ЛИ?)))))) А когда выкручивается лампа — кнопки отжимаются в обратном порядке — ДЦБА. Это нормальные и дозволенные режимы нажимания кнопок и их отжимания. Любые иные нажимания/отжимания — должны привести к немедленной блокировке патрона) И т.д. и т.п.
ПОНЯТНО НЕТ???? ИЛИ ВЫ СОВСЕМ НИКЧОМНОЕ СУЩЕСТВО???
УЖЕ ДЕЛАЙТЕ ДЛЯ ЛЮДЕЙ!!! А НЕ ДЛЯ СКОТОВ!!! ЭТО РЕАЛЬНО ТЯЖЕЛО ЧТО ЛИ ПОНЯТЬ????
Централизация допустима в одном случае. Если система изначально децентрализована, а затем и только затем — централизована. Например блокчейн. Все остальное свалится и работать не будет.
Каждому патрону по контроллеру. Это необходимость. Иначе никак.
Вопрос надёжности — одна кнопка откажет и ваш алгоритм поломается к чертямВопрос надежности давно решен. Но вам это не очевидно же) Потому что вопрос абстракций и как они применяются — неведом. Я абсолютно ничего нового не придумываю. Где взять надежные кнопки, уже работающие как лет двести, а может быть и триста? В замке.
Патрон-лампа — это банальщина полнейшая. Это система — ключ-замок. Но что бы это понять — нужно абстрагироваться сначала вверх по дереву абстракций, а затем вниз, и получить готовые деревья реализации.
Итак, имеем: кнопки-сувальды, работают 100000 раз по заявлению разработчиков, т.е. обеспечивают надежность открывания-закрывания замка 100000 раз. И я сильно сомневаюсь, что вы лампочку будете вкручивать 100000 раз))) Какая вам еще надежность нужна-то? Она и так грандиозно избыточна.
Идите к инженеру по замкам — он вам замок в патрон и вставит. Соберите т/з вменяемое, задача в принципе решена.
одна кнопка откажет и ваш алгоритм поломается к чертямДля этого и хэшируют состояние системы, любой, в том числе и механической — какая разница вообще — какая система-то?
У вас например 4 сувальда — четыре кнопки.
Вы должны во-первых отследить по времени их нажатие.
А во-вторых последовательность нажатия.
Выше оно написано же.
Все это даст хэши состояний.
Запишите какие хэши «откроют» контроллер, а какие «закроют».
И да, оно даст во-первых внешнюю диагностику состояния системы, т.к. вы можете собрать состояния всех хешей и сопоставить эти состояния как конкретные наборы состояний системы.
А так же оно позволит самодиагностировать систему, т.е. точно знать что и где идет не так, но т.к. внутренний контроллер ограничен в возможностях — самодиагностика не полная же… Полная вряд ли будет доступна, ибо контроллер максимально дешевый и тупой, и никак не быстрый.
Внешнее же подключение даст полную диагностику системы кнопок-сувальдов, и полную картину неисправности. Любой неисправности.
хеши состояний? ну да ну да… сработала первая кнопка, вторая не сработала, потом третья и тут проснулась вторая, всё… хеш соответствует «случайному нажатию» и напряжение не снимается. кнопки-сувальды… в ПАТРОНЕ для лампочки(E14, например)? Патрон будет стоить как позолоченный, а значит никому не нужный. Причем это решение проблемы «раз в год с вероятностью 1E-4 в патрон человек МОЖЕТ засунуть пальцы и умереть». Т.е. по сути одно событие за 10000 лет на одну человеко-лампочку вы предлагаете повысить стоимость системы в десятки раз?
сработала первая кнопка, вторая не сработала, потом третья и тут проснулась втораяЧёёёё?))))
Вы вообще понимаете достаточно вменяемо, что такое хэш состояния?
У кнопки А есть значение, у Б тоже и т.д.
У времени есть значение, у каждой условно 0.1 секунды есть значение.
Соберите ВСЕ эти значения и по хэширующей формуле получите хэш состояния.
Допустимые значения хэшей запомните изначально.
Как меняются эти хэши допустимой цепочкой — запомните тоже.
Условно на вход идут х0, х1, х2, х3, в этих хэшах состояния системы. Если оно на вход подается НЕ ТАК — отключайте все нафиг.
И ровно такая же цепочка x3, x2, x1, x0 тоже допустима.
И естественно тут сразу видно, что нет смысла цепочки хранить, ибо проще и эти значения цепочек захешировать и получить хэш от хэшей.
Т.к. юзера вкручивают лампочки по-разному, имеется ввиду по-времени по-разному — у вас будет много хэшей. Но не так много как кажется) Это и есть допустимые хэши состояния системы.
Само собой хэширующая функция с потолка не возьмется. ТАк на это математики есть. Они соберут вам нужну функцию, быструю и дающую минимальное кол-во коллизий. И это же примитивно) Если вам нужно совсем отказоустойчиво — применяйте более сложную криптографию, почему нет-то?
Как только контроллер обнаруживает нужный хэш — включайте вторую часть контроллера, которая собирает данные по теплу и свету.
Ну а как иначе-то?) Если вы лампочку вкрутили — вы тогда и мониторьте свет и тепло.
И в обратную сторону. Выкрутили вы лампочку — нашли хэш выкрученной лампы — перестаньте мониторить тепло и свет. Логика. Или опять нет?
вы предлагаете повысить стоимость системы в десятки раз?Почему в десятки?) Цена возрастет раза в три. Всего-то…
Слушайте, а вы зачем мебелью пользуетесь?)) Вот там действительно избыточность космическая. Там лаки, пластики, шпоны всякие и ткани и чорти чего только нет) Один лист дсп вам делают применяя сотню технологий. Вы доски соберите вон в кучу, валёжника вон пойдите соберите в лесу, вам вроде разрешили — свалите в кучу и спите на нем.
сработала первая кнопка, вторая не сработала, потом третья и тут проснулась втораяВы замок так же открываете?)))) Почему там срабатывает все, а у вас вдруг не сработает? Вы к вменяемому конструктору замков обратитесь — он вам кнопок как в замке, только уже в патрон на резьбу и поставит. И все будет работать. Так же надежно как в замке)
И вообще, вы когда видели надёжную кнопку и вместе с этим дешёвую? Экономят на материалах, копейку сэкономят а надёжность в 1000 раз падает от нарисованных цифр. Не будет это работать. Экономика не позволит… надёжность патрона упадёт до такого уровня, что его надо будет менять вместе с лампочкой. И всё это в погоне за прибылью. А так-то всё можно сделать и надёжно. Только кто за это заплатит?
Сейчас-то патроны рассыпаются после трёх лет эксплуатации, а вы хотите туда какую-то микромеханику вставлять, контакты?
Эти ваши кнопки — палка о двух концах. Если сделать так что «чуть что отключаем всё нафиг» то ваш патрон будет выходить из строя часто выдавая ложный сигнал по поводу и без. И будет постоянно гаснуть свет, потому что видители контакт в патроне от нагрева отошел.
Кстати это ещё вопрос насколько надёжно замки будут работать при температуре в 100 градусов, как правило замки-ширпотреб на улице считается одноразовым — один раз его закрыл и через год его только спиливать. Почему вы считаете что в патроне, с удешевлённым производством всё будет гораздо лучше?
Это многократно усложнит конструкцию такой простой вещи как патрон для лампочки(который кстати надо было забыть ещё 20 лет назад) а значит неизбежно уменьшит её надёжность.Вы про надежность вообще ничего не говорите. Если бы не вменяемые люди — вы бы винчестер не получили бы никогда. Вам дали сверхнадежную штуку — так вы радуйтесь. Но что бы получить такую надежность, каторая сильно близка к 100% — нужно неимоверно усложнить систему. Если нужна надежность действительно 100%, а такое тоже возможно — собирайте криптографию по всем элементам системы. Получите 100% надежную систему. Только это будет стоить уж слишком дорого, а кое где пока оно не реализуемо физически.
Но там где можно реализовать надежность — так пихайте туда это)) Почему нет-то?
Вы выше прочтите — мысль идет же для «умненького» дома.
Только где тут «ум», если ваш патрон САМ понять не может, вкрутили в него лампу или членом лезут?
Сдохла лампа или нет — не может понять. Какую лампу вкрутили — не может понять. Все на уровне каменного века. Защита электрическая — нулевая. Защита от взлома — нулевая.
Слушайте, да взубы вам вольтметр. Делайте что хотите. И да, нихрена вы не сделаете, даже если вам разжевать и в рот положить. Рот же вольтметром занят. А на более вы в принципе не способны. так и будете сидеть с вольтметром еще лет триста всей страной, причем имея собственных ровно два вольтметра на всю страну, а вам более и не нужно нихрена.
Сорри, что вмешиваюсь в спор, но ничего, что для начала стоило бы рассмотреть решение задачи каким либо другим, более простым способом и за одно понять а нужно ли решать ее вообще?
Например, я бы даже не задумался о всяких пользователях, лезущих самостоятельно менять лампочку, так как:
- УЗО уже есть почти в каждой квартире, то есть защита от полного дурака уже есть
- новые светильники вообще решили проблему кардинально — там стоят LED и поэтому в замене лампочки они вообще не нуждаются.
А то тут уже три выключателя на резьбе шаманят, и чуть ли не патент наклевывается, но что-то мне кажется, что это никому не нужно.
А ведь для защиты достаточно просто поменять конструкцию разъёмов. Хотя нет. Это не поможет. Ведь тогда туда полезут МЫТЬ ВОДОЙ… «я же не пальцами туда, а тряпкой...».
Кстати путь тока неисповедим… УЗО не защитит от пути тока фаза-человек-корпус_светильника-нулевой_провод…
И вот тоже непонятно, зачем эти сложные проверки если достаточно определять наличие тока в лампе — нет тока и уже не важно нет там лампы или она сгорела полностью надо отключить подачу тока туда до тех пор пока пользователь не подтвердит что проблема устранена или проверку выполнять низким напряжением. Но даже это всё не имеет никакого значения если напряжение будет отключаться НЕ МЕХАНИЧЕСКИ. А что это значит? Старый добрый автомат… или сотни механических реле, прогресс на лицо. Да даже реле не может считаться надёжным — оно прекрасно залипает или система ошибочно может его включить в самый неподходящий момент несмотря ни на какие хеши состояний и программные блокировки. Надёжность может обеспечить только видимый механический разрыв цепи.
Ну вот, вы сами пишите "можно сделать", "достаточно поменять" и сразу же "не имеет никакого значения" и "не поможет". Такой брейнсторминг можно устраивать для разминки мозгов, но опять же практического смысла мало.
Кстати, путь тока вполне исповедим — токопроводящие части корпусов электроизделий принято заземлять.
Заземлят… но потом перепутают фазу с нулём…
Если фазу с нулем перепутают, то это не страшно. А если землю с нулем — то тогда при первом же включении лампочки и выбъет это самое УЗО.
Ну зачем вы выдумываете эти случаи? Трехпроводная схема с УЗО недаром из-за того и придумана в мире, что есть самая дурако- и идиотоустойчивая. Она решает именно проблемы с теми, кто по глупости или случайно засовывает пальцы в розетки.
Ну зачем вы выдумываете эти случаи?Это вовсе не выдуманные случаи.
Слушайте. Вы где живете вообще?
Я — в реальном мире. Вы — похоже в каком-то мире сильно виртуализированных дибилков. Уж извините. Но НА ТАКОЙ БРЕД Я ПО-ДРУГОМУ УЖЕ ПИСАТЬ НЕ МОГУ.
Вы что реально думаете, что везде стоит УЗО, да еще и работающее ага? Везде есть земля ага? Везде она не рваная ага? И т.д. и т.п.
ОПОМНИТЕСЬ! ВЫ ГДЕ ЖИВЕТЕ-ТО???
Крайне рекомендую пройтись по вашему дому. В половине квартир вы заземление просто не найдете. И т.д. и т.п. Уж про частный сектор я вообще просто ничего не буду писать вообще…
Живу в Германии. Прошелся по дому, по офису — везде есть УЗО, везде есть заземление. Извиняюсь, а ВЫ где живете? В старой хрущевке под снос?
И собираетесь вкручивать умную лампочку в квартире со старой проводкой? Так вы еще Теслу начните заряжать опять же от своей проводки — придумаете еще множество интересных изобретений, чтобы не спалить свой дом нафиг.
Реальный мир таков, что он меняется и меняется в лучшую сторону. Но кто-то остался в деревне и пытается изобретать всякие извращения лишь бы ничего не делать на системном уровне.
Если что-то умное — то оно умное везде.
Все остальное — бредятина по-определению.
Еще раз и опять. Слушайте, вы правда похоже… Мда… Ну суйте все что хотите в розетки) Оно вас спасет? Вы перебором тестовым и найдете ту самую розетку, где порвана земля, или УЗО сдохло. Но вам это уже не поможет.
Если стоит УЗО — оно по-определению исправно? Если стоит розетка с землей — значит земля по-определению есть?
Слушайте… Я уже и не знаю что комментировать на такую логику коня. Матами что ли комментировать уже?
И в контексте всего этого «умного», которое здесь городят с превеликими потугами и выдают за некий «ум» — так это смешно)))
ПОТОМУ ЧТО ЧТО БЫ ТУТ НЕ ГОРОДИЛИ — УМА НЕ ДОБАВЛЯЕТСЯ ВООБЩЕ) Оно как было убого — так оно и остается убогим.
И вот это и забавляет больше всего)))) Т.е. забавляет сам факт того, что некие «умостроители» даже не понимают, что в их якобы «поумневшие» системы вообще ничего нового «умного» и не добавлено.
А ведь для защиты достаточно просто поменять конструкцию разъёмов. Хотя нет. Это не поможет.Естественно не поможет))
Ахаха! Слушайте, вы правда человек?) Сомневаюсь… Любые части разъема как части — воссоздаваемы. Более того — части разъема обычно простые. А значит воссоздаются просто. Например перебором всего что вокруг, и нахождением копии) Дети потому и суют гвозди в розетки, ИБО ДАЖЕ ДЕТИ ПОНИМАЮТ ИНТЕРФЕЙСНО, ЧТО ШТЫРЬ ВИЛКИ И ГВОЗДЬ — ЭТО ОДНО И ТО ЖЕ) А ВЫ — НЕ ПОНИМАЕТЕ)))) Тут нужно всего-то перебрать интерфейс формы, а с этим справляется даже ребенок, но не вы) Как такое может быть вообще? У вас — может.
Вывод: Какую бы вы конструкцию не городили — все равно ее взломают. До вас это правда не доходит что ли? Тупым перебором абстракций и взломают. Хотя о чем я говорю — опять и снова вы ничего не понимаете же.
Решение общее: Вы логически должны контролировать вашу конструкцию разъема. Банальное и опять же скопированное решение есть уже. Шарики подоприте пружинками как в замке и поставьте куда хотите.
В обычной розетке это опять же просто. ЛОГИЧЕСКИ РАССУЖДАЙТЕ!!! Вы первым делом в розетку суете штыри. НЕ ОДИН, А ДВА! Значит шары подпертые пружинками должны штырями отпереться почти враз. И никак иначе. Это всего навсего означает лишь то, что суют в розетку что-то напоминающее штыри, но ВРАЗ суют, понимаете? Уже хорошо)) Но можно сунуть два гвоздя враз. Тяжело, но можно. Опять дыра. Ставьте хотя бы пару шариков по линии гнезд розетки, с той целью, что эти два шарика тоже враз, но ПОСЛЕ штырьковых шариков тоже должны откатиться. Это будет означать заполненность розетки самой вилкой. Не штырями вилки, а самой вилкой.
Слушайте, вы что правда интерфейс заполненности мозгами во-первых не видите, а еще и банально его реализовать не можете?)))) КАК ТАКОЕ МОЖЕТ БЫТЬ ВООБЩЕ???
Тем более оно уже есть, оно уже реализовано, на примере патрона. Какая разница как и где ловить заполненность? В замке она ловится прекрасно. В патроне ровно так же будет ловиться прекрасно. В системе розетка-вилка ровно так же будет ловиться прекрасно.
И да, любую вашу конструкцию взломают даже дебилы. Ну потому что конструкция в любом случае дебильная.
И я опять ничего не придумал))) ЗАЧЕМ??? Оно готовое уже есть, его полно. Достаточно опять и снова смотреть на все это дело всего лишь абстракциями, и отслеживать логику. Как логику абстракций, так и логику убогую. Но вы ни на то, ни на другое не способны.
КАК МОЖНО ВООБЩЕ НАДЕЯТЬСЯ НА ОДИН ПОДПРУЖИНЕННЫЙ ШАРИК??? КАК МОЖНО БЫТЬ НАСТОЛЬКО ФЕЕРИЧНЫМ ДЕБИЛОМ???
А вот на несколько ЛОГИЧЕСКИ поставленных шариков там где нужно — уже надеяться можно.
Ибо штыри подпертые шариками — это реализованный интерфейс заполненности штырями. Причем враз.
А уже после этого контролируйте откат шариков самой розетки, и вы проконтролируйте интерфейс заполенности розетки самой вилкой.
И самое главное — вы можете отслеживать логику.
Сначала у вас должны подпереться шарики со штырей. Враз. Именно враз. С минимальной задержкой.
А затем, понимаете, затем, ибо это логически верно — уже затем подпираются шарики от загоняемой вилки в розетку.
Если вы так будете контролировать систему — то она действительно получится вполне себе годной.
Да еще и совместимой со старыми системами, нет? Зачем вы какие-то новые конструкции собираетесь городить? Там где-то выше про деньги писано. Слушайте, ВЫ ЧТО РЕАЛЬНО ДУМАЕТЕ, ЧТО ВАШИ ПОДЕЛКИ ПРИМУТ В КОНЯДЕ?)))) И ВЕСЬ МИР РАДОСТНО ПОВИЗГИВАЯ НА НИХ ПЕРЕЙДЕТ?)))) АХАХА!
А меня еще считают невменяемым… Ага… ага…
Выводы очевидны не?
Решение ваших так называемых задач — сводится к решению логики второго порядка. Вы готовые интерфейсы и виртуальные методы реализуете, и то убого.
Но кто вам их подбрасывает? Оно откуда берется-то?
Совсем на пальцах: вы выше пишете реализации интерфейсов. Но откуда взялся этот интерфейс — вы не пишете.
Ваши рассуждения дырявые. Извините. УЗО щщолкнет. Все равно щщолкнет. Не убьет. Но щщолкнет. Приятно? Нет. Оно вам надо? Нет. Это полумера. Никогда не соглашайтесь на полумеру, ибо это костыль.
УЗО отказоустойчиво? Нет. Оно 100% сработает? Конечно нет) Ну если вы так уверены в УЗО — смело суйте все ваши члены во все розетки и патроны.
Новые светильники — избыточны. Это костыль. По-сути, покупая новую лампу без разницы какую — вы покупаете БП с ней. Это что — нормально?) Но вы смело переплачиваете за БП. Еще и кривой. Они же все кривые. И оно только потому, что нормальный БП почему-то не сменный. Ну в компьютере же сменный БП? Купили и пользуйте. В люстре сменный БП? А может быть в лампах они сменные? Полнейшая логическая бредятина. Но вы эту бредятину зачем-то приводите в пример, и на нее равняетесь. Зачем?
И снова и опять. «Умненький дом» рассматривается. А значит патрон по определению должен быть умным. Все что есть — должно быть умным. Чего бы это не стоило — не имеет значения это.
Не три выключателя, а четыре. И не шаманят, а рассчитывают. И не на резьбе, а в резьбе. И патент нахрен никому не нужен. Ибо поставьте пятую кнопку — это будет другой патент. Не нравится?) Ахаха! А вот рашынская патентная система такое позволит. Ибо она настолько тупая, что она ЗАЧЕМ-ТО ПАТЕНТУЕТ РЕАЛИЗАЦИЮ ИНТЕРФЕЙСА, А НЕ САМ ИНТЕРФЕЙС.
УЗО отказоустойчиво? Нет. Оно 100% сработает? Конечно нет)
Вы забываете, одну простую вещь — для того, чтобы пользователь все же долбанулся током, должно быть соблюдено несколько условий одновременно:
- не отключен питающий автомат
- неправильно подключенная люстра
- полезть руками к токопроводящим частям
- неисправное УЗО
Даже при всем желании вероятность наступления этих условий одновременно для обычного пользователя практически равна нулю. Для идиота — нет, но таких людей в мире слава богу не так уж много и заметьте, даже идиота защищает как минимум одна техническая система. То есть идиот, да еще и с неисправным УЗО. Поэтому даже идиот не сможет так легко долбануться током.
Так зачем изобретать?
По-сути, покупая новую лампу без разницы какую — вы покупаете БП с ней. Это что — нормально?) Но вы смело переплачиваете за БП. Еще и кривой. Они же все кривые. И оно только потому, что нормальный БП почему-то не сменный. Ну в компьютере же сменный БП? Купили и пользуйте. В люстре сменный БП? А может быть в лампах они сменные?
Первый вопрос: и часто вы тот сменный БП в компьютере меняли без замены всего компьютера? И давайте тогда в автомобилях придумаем так, чтобы они все шли без КПП. А чего уж — КПП ж долго служит, так зачем покупать автомобиль вместе с ней?
И да, про мошынки вы не туда совсем. Там совсем жоский лютый обман. Повсеместный. И будет еще хуже.
БП в кампутерах тут ни при чем вовсе. БП в кампутере — это выбор. И да, может быть я и не менял никогда БП, а причем тут это? Я могу выбрать что мне надо. С лампой или люстрой у вас такой фокус не пройдет… Более того, еще раз — сравнение не уместное. Лампа работает год? два? БП на нее сколько работает? Если это вменяемый БП? ДЕСЯТЬ ЛЕТ? ДВАДЦАТЬ? Но вы его выкинете вместе с лампой…
И еще момент — вы покупаете лампу — вы разве видите модель БП в ней?) Почему покупая лампу — я не вижу то, какой БП там? Почему покупая люстру — я не вижу какой там БП? Пусть он будет встроенный и не сменный. Но какой он? Это же нигде не написано вообще.
В кампутере БП — ЭТО ОТДЕЛЬНАЯ ЛОГИЧЕСКАЯ ЧАСТЬ) Понимаете? Это абстракция. Обособленная. В люстре же это почему-то считается неотъемлимой частью люстры, что естественно снова и опять — логическая бредятина.
Но вас это устраивает))))) Вообще, знаете, мне что-то усиленно начинает казаться примерно уже как лет десять, что чем больше бреда в этом мире — тем больше этот бред устраивает чилавеков. И к чему оно приведет-то в итоге?)
В кампутере БП — ЭТО ОТДЕЛЬНАЯ ЛОГИЧЕСКАЯ ЧАСТЬ) Понимаете? Это абстракция. Обособленная. В люстре же это почему-то считается неотъемлимой частью люстры, что естественно снова и опять — логическая бредятина.
Те вы даже не задумывались, почему БП в компьютере — это отдельный логический блок, а в лампе нет? Мне вас жаль.
Подумайте еще почему в телефонах встроенные батареи, а в пульте от телевизора — нет. А еще почему в телевизорах, стиральных машинах и чайниках встроенный блок питания, а в ноутбуках — нет?
Подумайте еще почему в телефонах встроенные батареиЭто было до определенного времени вообще-то. А теперь вы подумайте, почему оно было до определенного времени. А затем превратилось в колхоз.
На упреждение: Не надо говорить, что увеличение толщины тилипона на 2мм как-то на вас повлияет)))
Мне вас жаль.
Поэтому досихпор из этого всего реализовано только контроль по датчику тока на стороне контроллера.По-этому до сих пор ваши рокеты и падают))))
Ибо всем вмеяемым известно, что 100% отказоустойчивая система — это криптографически устойчивая система ко взлому, причем имеющая на это строгое математическое доказательство.
И только в этой стране этого не понимают))))
Решение: на каждый провод контроллер поставьте. Который запускается по определенному сигналу. Запускаясь — контроллер начнет подмешивать сигнал, который можно интерпретировать как последовательность чего-то, например нулей и единиц)
Имеем: запускается система из кучи сплетенных и как-то смонтированных проводов, и на каждом куске — контроллер.
Прицепившись в начало и диагностируя то что выдают контроллеры в сумме — вы и получите уникальный хэш.
По табличке соответствия хэшей неисправностям — получите сразу указание того, где что не там прикручено.
Более того, можете это все хранить удаленно на серваке) Что бы шаловливые ручьки свои хэши не нафигачили. Эти ручьки и не должны знать заранее какие хэши приводят к исправному состоянию.
Подключил монтер рокету к серваку — проводка проверилась московским серваком и выдала ответ — не тот хэш) Переделывай там-то и там-то.
И это дает сразу грандиозные вещи, абсолютно везде.
У меня дома так проводка прокинута))) Да, на хэшах и очень слабых контроллерах. Баловство, я понимаю. Но по хешированию я могу точно знать, где что отвалилось сразу же. Я же не дурачек с тестером лазить по рокете и проверять соединения)))) Я вроде в 21-ом веке живу, ага?
Тем более что проверяя что-то — я тупо могу разрушить то что проверено, и что мне это даст-то? Идиотам оно что-то дает, только что оно дает — вообще непонятно…
Вы в курсе, что абстракции можно хэшировать?
Любая система абстракций имеет набор состояний. Даже механическая. Ага?) Ну это же очевидно, или опять нет?
Так вот если я начну хэшировать систему целиком — вы вообще даже не поймете, на каких абстракциях оно вообще строится в принципе. И такую систему вы вообще никогда не взломаете.
А зачем это нужно?) А затем, что бы понимать быстро наборы состояний. И быстро обрабатывать все это дело. И да, без этого вы не поймете — сломалась система или нет. Взломали систему или нет. Система должна быть самодиагностируемой и отказоустойчивой. Хэширование тут здорово вывозит. Но вам такое совсем непонятно)))))) Вы же в абстракциях полнейший ноль. И для вас хэш механической системы — ну это же нереальной сложности абстрагирование ага?)))))) Ну как до такого додуматься то можно?????? ЭТО ЖЕ НУЖНО БЫТЬ КАК МИНИМУМ МЕГА-ГЕНИЕМ АГА????)))) ахаха! Слушайте, пока вы не начнете смотреть на все максимально абстрактно — вы так и будете хрень никому не нужную и не работающую городить.
ПОНЯТНО НЕТ????
Пишите лог температуры патрона — этого достаточно. Если график более-менее похожий изо дня в день [НУ ВЫ ЖЕ ПАТРОН С ЛАМПОЙ НЕ ПЕРЕНОСИТЕ ИЗ ЭТОЙ ВАШЕЙ БАНИ НА УЛИЦУ В -40 И ОБРАТНО КАЖДЫЙ ДЕНЬ ЧЕРЕЗ ДЕНЬ ХАОТИЧНО], то получаемые данные и будут изо дня в день примерно усредненно в каком-то диапазоне. Причем все это вы можете здорово отслеживать. Контроллером. В патроне.
Контроллером. В патроне. С логом. С автоподстройкой параметров, с кнопкой ресет. Который нужен для определения, вкручена ли лампа. Логика работы которого сломается при переносе в теплое/холодное помещение. Еще и 4 кнопки в патроне, чтобы определять, вкручена ли лампа. 4 новых компонента, 4 новых точки отказа, абсолютно новая конструкция патрона, и все ради определения лампы в патроне.
Знаете, я все-таки забыл одного правило. «Не допускать оверинжиниринга».
А теперь вы расскажите, как вы будете реализовывать наличие работающей лампы вольтметром))) Ну так. Чисто поржать)
Я вам это сказал где-то в самом начале треда. Повторять не хочу. А если вы настолько увлечены чувством я-тут-настоящий-программист-и-покажу-этим-тупым-гуманитариям-где-раки-зимуют, что пропустили это сообщение, то желания разжевывать вам простейший способ желания нет тем более.
ПОНЯТНО НЕТ???? ИЛИ ВЫ СОВСЕМ НИКЧОМНОЕ СУЩЕСТВО???
УЖЕ ДЕЛАЙТЕ ДЛЯ ЛЮДЕЙ!!! А НЕ ДЛЯ СКОТОВ!!! ЭТО РЕАЛЬНО ТЯЖЕЛО ЧТО ЛИ ПОНЯТЬ????
Я честно прочитал все ваши сообщения, и даже где-то там сквозит здравый смысл. Но вот на этой части сообщения я сдался. Продолжать беседу такого качества с сознанием такого качества я не имею ни малейшего желания.
Несмотря на это, мне понравился пример с телефонами, и я бы был благодарен за ссылки на то, что можно почитать про такой подход.
Знаете, я все-таки забыл одного правило. «Не допускать оверинжиниринга».Это не правило — это бред, не имеющий математического доказательства.
На самом деле оно как раз таки наоборот. Если вам нужно абстрактно упростить систему — вы ее должны усложнить. И на это есть строгое математическое доказательство. Иначе — никак.
На пальцах: если у вас на входе четыре абстракции, а на выходе три — то вам придется усложнить систему, но незначительно.
Но если на выходе одна абстракция — то система усложнится чрезвычайно сильно. И по-другому никогда не будет) По-другому оно просто невозможно.
Но вот на этой части сообщения я сдался.Ну я же не сдался, когда вы написали тупое и никчомное «Ржать». И вы не сдавайтесь. Или слабак совсем?
Манифест разработчика умных систем: 15 принципов