1С и Умный дом
Возможно ли управление устройствами умного дома из 1С? Можно ли, минуя сложные настройки ZigBee, Z-Wave и иных платформ, а также без приложений от Google, Amazon и других управлять этими устройства? Мой ответ – ДА, можно, нужно просто иметь умное устройство, имеющее возможность работы в DIY, ну и, естественно, 1С.
- Описание
- Подробнее
Описание
1С и Умный Дом.
Возможно ли управление устройствами умного дома из 1С? Можно ли минуя сложные настройки ZigBee, Z-Wave и иных платформ, а также без приложений от Google, Amazon и других управлять этими устройства? Мой ответ – ДА, можно, нужно просто иметь умное устройство имеющее возможность работы в DIY, ну и естественно 1С.
Умный дом
Умный дом — одно из модных слов 2020 года, но что именно оно означает? В двух словах, умный дом означает дом, где определенные элементы подключены к интернету, иначе известному как устройства Интернета вещей (IoT). Это может быть всё, начиная от лампочек, которые вы можете включить своим голосом или иными действиями, и заканчивая умными устройствами домашней безопасности.
Короче говоря, умный дом — это любой дом, который включает в себя устройства, подключенные к Wi-Fi. Подключение к интернету означает, что вы сможете управлять ими с помощью мобильного приложения на вашем телефоне. Многие устройства также подключены к голосовым помощникам, поэтому вы можете управлять ими с помощью голосовых команд. Любой человек может иметь умный дом, который может быть, чем угодно: от маленькой квартиры с умным динамиком до большого дома со встроенными автоматизированными устройствами. Помните: нет маленьких умных домов, есть только маленькие устройства! Конечно, ни один дом не является полностью автоматизированным, но промышленность все ближе и ближе подходит к этому моменту (источник).
Использование технологий умного дома в США
В ТЕЧЕНИЕ СЛЕДУЮЩЕГО ГОДА БОЛЕЕ 80 МИЛЛИОНОВ АМЕРИКАНСКИХ ДОМОХОЗЯЙСТВ НАМЕРЕНЫ ПРИОБРЕСТИ НОВЫЙ ТИП УСТРОЙСТВА УМНОГО ДОМА. (источник)
Благодаря своему удобству, безопасности и способности экономить деньги пользователей, технология умного дома в последние годы становится все более популярной, и не только среди технически подкованных миллениалов. Согласно последним исследованиям, примерно 32 процента американских домохозяйств имеют технологию "умного дома", и ожидается, что к 2025 году этот показатель вырастет до 57 процентов.
Исследования показывают значительный спрос на эти продукты, причем более высокими темпами, чем прогнозировалось ранее. Вот ключевые результаты нашего исследования, основанного на ответах 605 лиц, самостоятельно принявших решения о покупке бытовой электроники в прошлом месяце (август).
- Самыми популярными устройствами умного дома сегодня являются умные телевизоры, подключаемые модули smart TV и умные колонки.
- Шестьдесят четыре процента наших респондентов заявили, что планируют приобрести новый тип технологии умного дома в течение следующего года, что соответствует более чем 80 миллионам домохозяйств в США и значительно превышает отраслевые прогнозы.
- Из семей, которые не были заинтересованы в владении или использовании технологии умного дома, большинство сказали, что она не нужна и не актуальна, в то время как другие отметили ее высокую стоимость и последствия для конфиденциальности.
Учитывая их популярность, неудивительно также, что большинство людей были довольны своими умными телевизорами, телевизионными плагинами и умными динамиками. В целом потребители довольны своими интеллектуальными технологическими покупками.
Будущее умного дома
Согласно исследованиям, примерно две трети людей хотят купить еще больше технологий умного дома, чем они уже имеют, либо в ближайшие шесть месяцев, либо в следующем году. Были проведены исследования, какие именно технологии они хотели бы приобрести. Согласно исследованиям, наиболее популярными, в плане перспективы покупки, являются следующие умные устройства:
Свет, камеры/видеозвонки, системы безопасности/замки, розетки, переключатели, сенсоры.
Умный переключатель для 1С и умного дома
Рассматриваемый переключатель (switch) является типичным переключателем/выключателем одного из производителей устройств умного дома, которым можно управлять из фирменного приложения, с помощью Google Home Assistant, Amazon Alexa и иными приложениями. Работает от сети 220 В. Для управления нужна домашняя сеть Wi-Fi.
Краткое описание возможностей устройства:
- Управление со своего телефона в любом месте и в любое время.
- Поддержка Amazon Alexa и Google Assistant для включения / выключения устройств.
- Возможность, чтобы одно устройство запускало / выключало другое или группы устройств.
- Возможность управления устройством с помощью приложения и сервисов, поддерживаемых IFTTT.
- Режим DIY* позволяет использовать REST API для подключения к существующей системе домашней автоматизации.
- Включение / выключение устройства при отсутствии доступа Wi-Fi в режиме LAN.
- Делитесь устройствами с семьей, чтобы управлять вместе.
- Показывать статус в реальном времени в фирменном приложении.
- Можно подключить старый телефон, чтобы он отслеживал и управлял устройствами.
*DIY — Самодельничество, или «сделай сам» (англ. DIY — Do It Yourself), — вид деятельности, при котором вы работаете своими руками. В последнее время стала популярна рубрика DIY поделки (источник википедия).
Для меня самым важным и ключевым моментом для выбора и покупки этого устройства стал режим DIY, с помощью которого будет продемонстрирована возможность управлять устройством напрямую из 1С.
Краткий обзор режима DIY
Источник: производитель устройства. Режим DIY разработан для пользователей и разработчиков домашней автоматизации IoT, которые хотели бы управлять устройством с помощью существующей платформы домашней автоматизации с открытым исходным кодом или локального HTTP-клиента вместо приложения. В режиме DIY, когда устройство подключено к сети, оно будет публиковать свои услуги и возможности в соответствии со стандартом mDNS / DNS-SD. Перед публикацией службы устройство включает HTTP-сервер на порту, указанном в записи DNS SRV. Устройство предоставляет свои возможности через RESTful API на основе HTTP. Пользователи могут получать информацию об устройстве, управлять устройством, отправляя запрос HTTP API.
Протокол управления устройством RESTful API (HTTP POST)
Устройство открывает HTTP-сервер в порту, указанном в записи DNS SRV, прежде чем устройство опубликует свои службы; устройство публикует возможности через RESTful API на основе HTTP. Из-за безопасности локальной сети и ограниченной вычислительной мощности устройства в этом рекомендуется, чтобы устройство предоставляло интерфейс HTTP вместо интерфейса HTTPS.
Форматы запроса и ответа RESTful API устройства
Формат запроса RESTful API устройства
URL: http: // [ip]: [port]/[path]
Формат возвращаемого значения: json
Метод HTTP: POST
Пример запроса RESTful API к устройству, работает в методе POST и теле запроса в формате JSON.
{
"deviceid" : "100000140e" ,
"data" :
{
"switch" : "on"
}
}
Ответ RESTful API устройства
Пример ответа RESTful API устройства. Работает с кодом ответа HTTP 200 OK и телом ответа в формате JSON.
{
"seq" : 2 ,
"error" : 0 ,
"data" : {
"signalStrength" : -67
}
}
А причем здесь 1С?
Просто захотелось по-управлять умными устройствами из 1С, если есть такая возможность. Имея в багаже знания приобретенные при разработке этой статьи (//sale.itcity.ru/1c/articles/1229332/) и других, связанных с ней, можно попробовать. Почему бы нет?
Что имеем.
Со стороны умного устройства.
- Само устройство. В данном случае – переключатель.
- Устройство должно поддерживать режим работы DIY.
- Мини HTTP сервер для обработки запросов.
- Поддержка устройством RESTful API.
Со стороны 1С.
- Платформа, не ниже 8.3.6. Для экспериментов использовалась учебная платформа, версия 8.3.8.1933.
В принципе всё. Учебная выбрана не случайно, специально минимально подходящая для обмена данными с HTTP сервисом. Думаю, что несмотря на все её ограничения, вполне подойдет для создания программы по управлению умными устройствами.
1С, что внутри.Общего характера.
Константы.
Здесь, полагаю, пояснения в необходимости данных констант не нужны. А кому интересно, можете прочитать в предыдущих статьях про REST API.
Общие модули.
Здесь расположены основные процедуры и функции подготовки к отправке REST запроса на HTTP сервер устройства и обработки ответа. Здесь тоже ничего нового нет, по ним описания тоже находятся в моих предыдущих статьях по RestAPI.
В двух словах про функцию «pingНаСервере», она используется для пинга доступности устройства и как фиктивный адрес + ТаймАут > 1000 мс (1 секунды) для виртуальной паузы.
Справочники.
Здесь чуть подробнее.
Data предопределенные данные тела запросов.
Здесь хранятся предопределенные данные тел запросов к устройству, для управления им. Эти данные предопределены производителем и имеют структуру, описанную выше. Плюс краткое описание. Можно конечно, вписать свои, но работать вряд ли будет.
Примеры запросов
info
Получает информацию об устройстве, без дополнительных ключей. Тело запроса в формате JSON:
{
"deviceid" : "" ,
"data" : {}
}
switch
Включает или выключает устройство, без дополнительных ключей, [turnkey] — ‘on’ — включен или ‘off’ — выключен. Тело запроса в формате JSON:
{
"deviceid" : "" ,
"data" : {“ switch”: “ [turnkey]”}
}
Data предопределенные значения ключей тела запроса
Здесь хранятся предопределенные данные ключей тела запросов к устройству, для управления им. Эти данные также предопределены производителем и имеют значения, как на картинке.
Можно конечно, вписать свои, но работать не будет.
Умные устройства
Здесь хранятся сами умные устройства. Имеют дополнительные реквизиты «IP адрес» и «Порт». Табличную часть «Команды устройства», которые можно послать в адрес устройства для исполнения.
Выглядит так:
Флаги использовать “ON” и “OFF” используются как основные команды для включения / выключения. В нашем случае лампочки. Использовать можно как как угодно, главное, чтобы нагрузка не превышала 10А.
Демонстрация работы.
В принципе на этом всё. Настало время продемонстрировать работу переключателя. На фотографиях не видно не будет, поэтому прилагаю видео.