{
    "version": "https:\/\/jsonfeed.org\/version\/1.1",
    "title": "Копытов Иван: заметки с тегом domoticz",
    "_rss_description": "Блог ленивого сисадмина",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/kini24.ru\/tags\/domoticz\/",
    "feed_url": "https:\/\/kini24.ru\/tags\/domoticz\/json\/",
    "icon": false,
    "authors": [
        {
            "name": "Копытов Иван",
            "url": "https:\/\/kini24.ru\/",
            "avatar": false
        }
    ],
    "items": [
        {
            "id": "272",
            "url": "https:\/\/kini24.ru\/all\/uhod-s-domoticz-na-home-assistant\/",
            "title": "Уход с Domoticz на Home Assistant",
            "content_html": "<p>Попробую сравнить эти две системы «умного дома».<br \/>\nНа Domoticz я «просидел» несколько лет. Эта система была хороша тем, что имела низкий порог вхождения, не требовала особых ресурсов и имела достаточно много возможностей. Что я понял спустя некоторое время:<\/p>\n<ol start=\"1\">\n<li>Интерфейс достаточно жестко закреплен. Вы не можете создавать свои вкладки (разделы), только заданные разработчиками.<\/li>\n<li>Нельзя сгруппировать датчики одного устройства в группу. Один датчик — одна карточка. Которые могут быть разнесены по разным разделам. Например, данные из домашней метеостанции будут присутствовать в трех разделах, между которыми нужно переключаться, чтобы получить всю информацию от нее.<\/li>\n<li>Есть темы оформления, но их мало и не все работают корректно. Некоторые предъявляют требования к именам устройств, чтобы была возможность объединить их в одну карточку.<\/li>\n<li>Чтобы получить данные с сайта, из операционной системы или что-то еще, выходящее за рамки протокола MQTT — придется использовать python или lua. Тут, кстати, небольшой «плюс» — скрипты хранятся в базе данных. После запуска Domoticz они выгружаются во внешние файлы. Зачем? Ладно, пусть.<\/li>\n<li>База данных имеет формат SQLite. Тут свои «плюсы» и «минусы».<\/li>\n<li>Группа Domoticz в Telegram, в которой я состоял, «топит» за использование «домика» в связке c Node-Red. Я не любитель установки множества программ на сервер, поэтому от последнего отказался. Что, с одной стороны, сильно меня ограничило в изменении интерфейса системы, с другой... Да ну его нафиг! Там свои ограничения.<\/li>\n<li>Несмотря за заявленную несколько лет назад возможность синхронизации данных между несколькими серверами Domoticz, она так и не была реализована. Судя по некоторым данным, разработчики просто «забили» на неё.<\/li>\n<li>Мне так и не удалось подключить часть устройств, типа пылесоса Xiaomi, телевизора Samsung, чайника Redmond. И, уверен, в ближайшее время, этого не будет в «домике».<\/li>\n<li>Система может просто не запуститься после обновления ОС или если вы допустили ошибку с своем скрипте. Может не понравиться версия glibc, python или его библиотеки. Проверка целостности отсутствует напрочь.<\/li>\n<li>«Умные» колонки вы не подключите.<\/li>\n<\/ol>\n<p>Скорее всего, было что-то еще, что меня не устраивало в этой системе, но я перечислил основное. К тому же на меня порой «находит» и я начинаю экспериментировать. Поэтому качаем образ Home Assistant для KVM и начинаем пробовать что он может.<\/p>\n<ol start=\"1\">\n<li>У меня много «простых» устройств, работающих по протоколу MQTT. Их пришлось прописать ручками. Копипаста с небольшими правками сильно помогла. Это был начальный этап, я еще ничего не знал. НА может обнаруживать такие устройства сама.<\/li>\n<li>Пылесос, телевизор, чайник «влетели» как родные, после установки нужных дополнений.<\/li>\n<li>Базу данных в формате MySQL пришлось подключать ручками. Основной формат опять же был SQLite, но для большой истории показаний он не годится. Перенес данные из Domoticz в Home Assistant (есть скрипт в интернете).<\/li>\n<li>Сделал нужные мне разделы (вкладки) в интерфейсе, занес в них нужные устройства с нужными параметрами. Разница с Domoticz просто огромная.<\/li>\n<li>Оповещения в Jabber, Telegram, на почту подключаются достаточно просто.<\/li>\n<li>Нашел несколько групп в Telegram по этой системе. Общение между участниками идет постоянно, поэтому пришлось отключить уведомления.<\/li>\n<li>Парсинг данных с сайтов вообще порадовал — достаточно указать URL, с которого будешь забирать данные и тэг, который нужно искать. Ну и номер тэга иногда.<\/li>\n<li>Есть проверка ошибок конфигурации перед перезапуском. Если найдет — выдаст предупреждение. Это вообще кайф :-)<\/li>\n<li>По ресурсам, конечно, более требовательна, но оно того стоит.<\/li>\n<li>Хотите подключить колонку яндекса или марусю — не вопрос!<\/li>\n<\/ol>\n<p>Наверное, на этом закончу. Продолжу тему в другой заметке — там уже много чего описать.<\/p>\n",
            "date_published": "2024-01-13T16:36:35+07:00",
            "date_modified": "2024-01-13T16:37:23+07:00",
            "tags": [
                "domoticz",
                "home assistant",
                "переход",
                "сервер",
                "сравнение",
                "умный дом"
            ],
            "_date_published_rfc2822": "Sat, 13 Jan 2024 16:36:35 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "272",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [],
                "og_images": []
            }
        },
        {
            "id": "236",
            "url": "https:\/\/kini24.ru\/all\/umny-dom-3\/",
            "title": "Добавляем камеру в Domoticz",
            "content_html": "<h2>Небольшая правка<\/h2>\n<p>Была куча нюансов в работе камер с системой «умного дома». Например, не отображались скриншоты и «живое» видео при нажатии на соответствующие пункты. Сегодня удалось это победить. Как я уже ранее писал, камеры у меня китайские, от Xiong Mai. Ну вот так получилось...<br \/>\nЧуть отступлю от темы. На днях разобрал обе камеры и припаял к ним выходы для внешних микрофонов. Нашелся штекер чуть больше размером, но, после доработки напильником, он четко встал на положенное место (обе камеры были с нужными разъемами, но не выведенными наружу). В итоге вывел три контакта: питание, землю и контакт микрофона. Остальные пока что остались в камере, при желании их можно за короткое время тоже начать использовать. Например, для подключения аудиоколонок. Микрофоны оказались ОЧЕНЬ чувствительными, спокойно ловят звук открывающейся двери на первом этаже. Или звук отъезжающего с другой стороны дома автомобиля. Один «минус» — звук как из бочки, глухой. Я бы подумал, что это просто неисправный микрофон, но он такой не один. Очень надеюсь побороть этот дефект.<br \/>\nНо вернемся к нашим баранам. Поиск в интернете навёл меня на одну страницу, с которой я перепробовал несколько ссылок. Одна из них оказалась вполне себе рабочей, но недокументированной. Выглядела она таким образом:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">http:\/\/192.168.1.15\/webcapture.jpg?command=snap&amp;channel=1?<\/code><\/pre><p>Используя эту ссылку (IP камеры, конечно, нужно изменить на нужный), можно получить текущий скриншот с камеры.<br \/>\nВторая часть, которая дала мне понимание почему Domoticz так плохо работает с камерами, нашлась на официальном форуме. Суть состоит в том, что «домик» не берет поток с камер как таковой, а использует систему ежесекундных скриншотов. Именно поэтому для так важен адрес их получения. Да, изображение получается дерганым, но с этим, похоже, ничего не сделать. По крайней мере, пока что.<br \/>\nЕще один «минус», который всплыл после этой перенастройки — мобильная версия Domoticz плевать хотела на них и просто не отображает видеопоток. Также, если настроить отправку скриншотов при обнаружении движения, они отправляются только на электронную почту. В тот же Telegram отправки нет. Почему?<\/p>\n",
            "date_published": "2019-05-20T10:01:29+07:00",
            "date_modified": "2019-05-20T10:01:26+07:00",
            "tags": [
                "domoticz",
                "видеонаблюдение",
                "камера",
                "китай",
                "микрофон",
                "подключение",
                "умный дом"
            ],
            "_date_published_rfc2822": "Mon, 20 May 2019 10:01:29 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "236",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css"
                ],
                "og_images": []
            }
        },
        {
            "id": "228",
            "url": "https:\/\/kini24.ru\/all\/umny-dom\/",
            "title": "«Умный» дом",
            "content_html": "<h3>Добавляем камеру в Domoticz<\/h3>\n<p>Во-первых, почему Domoticz? Мне он показался намного более простым по сравнению с Majordomo и другими системами. Во-вторых, этот пакет присутствует в репозитории на роутере (с установленным OpenWrt). С одной стороны ставить такую программу я предпочел бы на сервер, с другой — именно роутер является точкой, соединяющей все сетевые устройства в квартире. Поэтому пусть пока будет так.<br \/>\nТак как камера у меня — «чистый» китаец, то просто так добавить ее в систему не получится. По крайней мере, мне это не удалось. Пришлось идти обходным путем.<br \/>\nСтрока подключения к камере выглядит примерно так:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">rtsp:\/\/192.168.1.12:554\/user=admin&amp;password=&amp;channel=1&amp;stream=0.sdp?real_stream<\/code><\/pre><p>Открыв этот адрес, например, через плеер VLC, можно увидеть основной поток камеры. В принципе, строку можно чуть-чуть сократить, убрав всё после <i>sdp<\/i>. В любом случае, Domoticz такое не понимает. Поэтому нам понадобится пакет под названием motion. У меня он уже установлен и отправляет мне в Telegram фото событий. Камера у меня пока что одна, но в будущем планируется еще несколько, поэтому все настройки, отличающиеся от настроек по умолчанию, я вынес в отдельный файл, который подключил в motion.conf. Там нам понадобятся несколько параметров, перечисленных ниже.<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">netcam_url rtsp:\/\/192.168.1.12:554\/user=admin&amp;password=&amp;channel=1&amp;stream=1.sdp?real_stream\nnetcam_keepalive on\nwidth 704\nheight 576\nstream_port 8091\non_event_start \/root\/motion\/actions\/on_event_start\non_event_end \/root\/motion\/actions\/on_event_end<\/code><\/pre><p>Первая строка — подключение к самой камере на вторичный поток. Вторая — поддержка подключения, можно пропустить. Третья и четвертая — размеры кадра вторичного потока, у меня они такие. Можно выбрать, конечно, и основной, но это повлечет за собой увеличение трафика в сети и времени подключения. Самая «интересная» строка — следующая. Она указывает motion через какой порт выводить картинку. И последние две строки — пути к скриптам, которые будут выполняться при возникновении и завершении события. У скриптов должны быть установлены права на выполнение.<br \/>\nЗапускаем motion и первым делом проверяем наличие потока, просто открыв ссылку в браузере. Например, motion у нас будет установлен на компьютер с адресом 192.168.1.10. Тогда в браузере набираем:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">http:\/\/192.168.1.10:8091\/<\/code><\/pre><p>Вы должны увидеть видеопоток с камеры. Если его нет — придется разбираться что не так. Чаще всего просто не открыт указанный порт на компьютере. Если картинка есть — идем дальше.<br \/>\nОткрываем Domoticz и пробуем добавить камеру.<\/p>\n<div class=\"e2-text-picture\">\n<div class=\"fotorama\" data-width=\"487\" data-ratio=\"1.2551546391753\">\n<img src=\"https:\/\/kini24.ru\/pictures\/domoticz-01.jpg\" width=\"487\" height=\"388\" alt=\"Нужное меню в Domoticz\" \/>\n<img src=\"https:\/\/kini24.ru\/pictures\/domoticz-02.jpg\" width=\"730\" height=\"482\" alt=\"Добавляем камеру в Domoticz\" \/>\n<\/div>\n<div class=\"e2-text-caption\">Добавляем камеру в Domoticz<\/div>\n<\/div>\n<p>Протокол оставляем HTTP, в качестве IP-адреса указываем адрес компьютера, куда установили motion. Порт указываем тот же самый, что и в файле настроек motion. Имя пользователя и пароль заполняем в том случае, если для просмотра камеры нужна авторизация. Ну и в ImageURL забиваем полный путь к потоку, тот же самый, который вбивали в браузере при проверке потока камеры. Нажимаем «Тест соединения» и надеемся, что картинка появится. Обычно на это нужно до 10 секунд. Если картинки нет, значит что-то пошло не так и придется всё проверять. В моем случае картинка нормально появляется когда я работаю в домашней сети. Если я запускаю Domoticz с рабочего компьютера, то она не показывается.<br \/>\nНажимаем кнопку «Add», чтобы добавить камеру в список. И тут тоже есть нюанс. В строке с камерой тоже есть предварительный просмотр, но в моем случае он не работает. Также не работают кнопки «Сделать снимок» и «Stream video». Но это не важно, камера работает.<br \/>\nНе зря же мы это все делали? Пусть теперь камера работает датчиком движения — нечего ей просто так висеть на потолке. Например, включает освещение в коридоре, когда обнаружит движение.<br \/>\nВ качестве выключателя с удаленным доступом у меня стоит простой Sonoff Basic, подключенный к моей сети через WiFi. Идем в настройки Domoticz, выбираем «Оборудование». В выпадающем списке ищем пункт «Dummy (Does nothing, use for virtual switches only)», называем его как-нибудь и нажимаем кнопку добавить. Теперь в списке чуть выше нажимаем кнопку «Создать виртуальные датчики», вводим название выключателя (придумываем сами) и указываем тип «Переключатель». Жмем «ОК». Всё, мы создали виртуальное устройство, которое будет управлять освещением в коридоре. Остается теперь соединить между собой камеру и выключатель.<br \/>\nВспоминаем, что у нас есть два скрипта от motion, которые выполняются при возникновении и завершении события, в данном случае — в коридоре. Добавляем в каждый из скриптов по одной строке. В <i> \/root\/motion\/actions\/on_event_start<\/i> добавляем<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/usr\/bin\/curl -s &quot;http:\/\/api_username:api_password@domoticz_server:domoticz_port\/json.htm?\ntype=command&amp;param=switchlight&amp;idx=your_ID&amp;switchcmd=On&quot;<\/code><\/pre><p>а в <i> \/root\/motion\/actions\/on_event_end<\/i> такую строку:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">\/usr\/bin\/curl -s &quot;http:\/\/api_username:api_password@domoticz_server:domoticz_port\/json.htm?\ntype=command&amp;param=switchlight&amp;idx=your_ID&amp;switchcmd=Off&quot;<\/code><\/pre><p>Теперь разберем, что это за бред.<br \/>\n<i>curl<\/i> — программа, позволяющая выполнить те или иные действия по указанному адресу, используя только командную строку.<br \/>\n<i>api_username<\/i> и <i>api_password<\/i> — имя пользователя и пароль, которые вы установили для доступа к Domoticz. Если не устанавливали, то эту часть «<i>api_username:api_password@<\/i>» можно не вводить.<br \/>\n<i>domoticz_server<\/i> и <i>domoticz_port<\/i> — IP-адрес и порт компьютера, где у вас установлен Domoticz. В качестве порта нужно указать стандартный 8080, если, конечно, вы не делали перенаправления портов.<br \/>\n<i>idx=your_ID<\/i> — в качестве <i>your_ID<\/i> нужно указать значение выключателя из колонки Idx таблицы устройств. У меня это значение равно «1».<\/p>\n<div class=\"e2-text-picture\">\n<img src=\"https:\/\/kini24.ru\/pictures\/domoticz-03.jpg\" width=\"1311\" height=\"300\" alt=\"Таблица устройств\" \/>\n<div class=\"e2-text-caption\">Таблица устройств<\/div>\n<\/div>\n<p>Ну и последний параметр <i>switchcmd<\/i> может принимать значения <i>On<\/i> или <i>Off<\/i>, в зависимости от того, хотите ли вы включить освещение или выключить соответственно. Подозреваю, что можно также указать «1» и «0» соответственно, но, если честно, лень проверять :-)<br \/>\nДолжен также отметить, что в Sonoff установлена не стандартная прошивка с привязкой к китайскому облаку (и возможностью потерять доступ к своему выключателю из-за рвения Роскомнадзора заблокировать всех и вся), а <a href=\"https:\/\/github.com\/arendst\/Sonoff-Tasmota\">Tasmota<\/a>. Возможностей у нее немного, но лично мне хватит с избытком. Не будет же выключатель вещать радио, когда мне скучно? :-)<br \/>\nТеперь почему мы используем такой сложный способ включения\/выключения? Просто при таком способе состояние выключателя будет корректно отображаться в Domoticz в случае возникновения или завершения движения в коридоре.<\/p>\n",
            "date_published": "2019-02-21T13:36:31+07:00",
            "date_modified": "2019-03-09T14:18:18+07:00",
            "tags": [
                "domoticz",
                "openwrt",
                "sonoff",
                "выключатель",
                "добавление",
                "камера",
                "китаец",
                "подключение",
                "роутер",
                "умный дом"
            ],
            "image": "https:\/\/kini24.ru\/pictures\/domoticz-01.jpg",
            "_date_published_rfc2822": "Thu, 21 Feb 2019 13:36:31 +0700",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "228",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "highlight\/highlight.js",
                    "highlight\/highlight.css",
                    "jquery\/jquery.js",
                    "fotorama\/fotorama.css",
                    "fotorama\/fotorama.js"
                ],
                "og_images": [
                    "https:\/\/kini24.ru\/pictures\/domoticz-01.jpg",
                    "https:\/\/kini24.ru\/pictures\/domoticz-02.jpg",
                    "https:\/\/kini24.ru\/pictures\/domoticz-03.jpg"
                ]
            }
        }
    ],
    "_e2_version": 4134,
    "_e2_ua_string": "Aegea 11.3 (v4134)"
}