Добрый день! Какие используют языки программирования в системе умного дома? Допустим, чтоб включить выключить свет, сделать устройства для контроля температуры.
"Умные" дома нынче собираются из зоопарка готовых приборчиков, которые только сконфигурировать требуется.
Какая-нибудь колонка для голосового интерфейса, HomeAssistant, установленный на малинку, для автоматизаций.
В HA конфиги вообще на yaml пишутся. Хотя можно и javascript подрубить.
Если же вы говорите о разработке устройств, то в их начинке, вероятнее всего, это Си.
Распределённая сеть KNX, параметрирование в среде ETS.
Но есть масса других протоколов и возможностей (я, например, программирую ПЛК (свободно программируемые контроллеры, языки Codesys (ST, CFC, SFC...))).
1) KNX не занимаюсь, т.к. параметрирование мне не интересно (среда ETS к тому же платная).
Но можете изучить протокол Modbus (старая версия ASCII, новые RTS и TCP). Сам сетевой принцип Master-Slave мне не нравится, поэтому мне больше нравится сеть CAN (допустим, старый протокол DeviceNet или новый CANOpen), т.к. там обычно реализован принцип Producer-Consumer. Но обычно CAN используется в автомобилях. Если захотите сделать что-то подешевле, то можно взять китайский аналог KNX - сеть HDL.
2) Вторую версию Codesys можно изучить по документации. Только языки IL, LD и FBD устарели, их можно не применять.
Фирма Овен сейчас старается использовать третью версию Codesys, можете посмотреть их канал на Youtube.
3) Чтобы изучить SFC (граф состояний), можно купить домашнюю версию MatLab (она недорогая) и изучить Stateflow. Вот ролики о его преимуществах. После построения графа можно его перегонять в микроконтроллер типа Ардуино (языки C/С++) или ПЛК (язык ST), там есть такие опции.
4) Ещё должны быть общения через SCADA (графическое отображение процессов). Для смартфонов и планшетов есть решения от российской фирмы iRidium Mobile. Для десктопов вариантов куча, но обычно они платные. Мне в своё время понравился открытое API для ПЛК Beckhoff, так что программист может и сам создать скаду.
Для начала можно в Codesys нарисовать web-визуализацию и смотреть через браузер.
5) Наконец, есть ещё видеосигналы для видеокамер и аудио/видео сети Мультирум. Там своя аппаратура.
Если будете управлять светом, то почитайте про ЭПРА (нашлёпки на люстры). Есть дискретное управление (включить-выключить. Напоминаю, что кнопки для умного дома обычно без фиксации (так называемые, звонкового типа) и для низковольтного сигнала управления (там нет 220 В)), есть аналоговое (0 - 10 В), есть цифровое (протоколы DALI, DMX).
Обязательно изучите типы ламп: накаливания, светодиодные (тут автоматике может мешать встроенный преобразователь питания), люминесцентные, галогенные.
По контроллерам: есть ещё кроме ПЛК так называемые программируемые реле (более дешёвый вариант). Logo у Siemens, ПР у фирмы Овен. Там язык CFC или FBD.
Наиболее продвинутая система, которую я видел, была в основном на Erlang. Подозреваю, что контроллеры они все-таки на C программировали.
Сейчас хорошим выбором будет Rust, хоть не на все esp его легко настроить.