Ну как сказать. Прежде, чем дойдет до воображения, разработчику нужно учесть вполне реальные ограничения, чтобы потом задумываться о том, а получится ли воображаемое воплотить в жизнь. Например: 1. Достаточно ли вычислительных ресурсов у обработчика I/O, чтобы автономно реализовать нужную функциональность и принимать решения? Или каждая "умная" розетка должна иметь 64-х битный процессор с операционкой Windows? 2. Если решение будет приниматься на стороне I/O датчика/выключателя - как он будет узнавать, каким устройствам он должен посылать команду? Каким образом это будет конфигурироваться - обновлением прошивки? Заумным протоколом поверх полевой шины? 2. Тот же вопрос с другой стороны - если решение будет приниматься I/O обработчиком на исполняемом устройстве/реле - каким образом он будет узнавать нужные ему сигналы от нужных устройств. А если вдруг нужный датчик поломается и сигнал никогда не придет? А если вдруг из-за ошибки конфигурации датчик температуры в коридоре вдруг получит конфигурацию датчика температуры в комнате и они начнут конфликтовать и слать разные данные об одном и том же параметре. Как это разруливать на стороне актуатора?
Какой-то глупый датчик получается... Надо в алгоритмах работы актуатора прописывать "крайние" и "аварийные" значения датчиков...