<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Domoticz on Блог Агапова Максима</title><link>https://magapov.nmph.ru/tags/domoticz/</link><description>Recent content in Domoticz on Блог Агапова Максима</description><generator>Hugo</generator><language>ru</language><lastBuildDate>Sun, 21 Jan 2024 11:32:23 +0000</lastBuildDate><atom:link href="https://magapov.nmph.ru/tags/domoticz/index.xml" rel="self" type="application/rss+xml"/><item><title>Domoticz. Качество сигнала 4G-модема</title><link>https://magapov.nmph.ru/2021/10/domoticz-4g.html</link><pubDate>Wed, 27 Oct 2021 14:58:00 +0000</pubDate><guid>https://magapov.nmph.ru/2021/10/domoticz-4g.html</guid><description>&lt;div class="separator" style="clear: both; text-align: justify;">&lt;a href="https://magapov.nmph.ru/img/all-sensors.png" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="286" data-original-width="1820" height="100" src="https://magapov.nmph.ru/img/all-sensors.png" width="640" />&lt;/a>&lt;/div>&lt;div class="separator" style="clear: both; text-align: justify;">&lt;span style="text-align: justify;">&lt;br />&lt;/span>&lt;/div>&lt;div class="separator" style="clear: both; text-align: justify;">&lt;span style="text-align: justify;">Продолжаю переписывать скрипты с баша на питон. С течением времени функционал keeneticOS меняется, и приходится некоторые скрипты переписывать. Так вышло и со снятием &lt;/span>&lt;a href="https://magapov.nmph.ru/2019/10/lte-huawei-e3372h.html" style="text-align: justify;" target="_blank">показаний качества сигнала&lt;/a>&lt;span style="text-align: justify;">.&amp;nbsp;&lt;/span>&lt;/div>&lt;p>Роутер Keenetic Giga KN-1010 (3.6.12), USB-модем Huawei e3372h.&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p></description></item><item><title>Domoticz. Уведомления о работах на линии РОССЕТИ (версия Pro)</title><link>https://magapov.nmph.ru/2021/09/rosseti-domoticz-pro.html</link><pubDate>Thu, 23 Sep 2021 16:47:00 +0000</pubDate><guid>https://magapov.nmph.ru/2021/09/rosseti-domoticz-pro.html</guid><description>&lt;p style="text-align: justify;">&amp;nbsp;Мои отношения с Россетями переходят на новый уровень. Прошлогодний скрипт об уведомлениях о плановых работах (перебоях в электроснабжении) в Domoticz перестал работать, в связи со сменой адреса в сети Интернет о самих работах (переехал сюда) и изменением формата запроса. Теперь можно задать только свой регион, плюнуть в строку "Адрес" любое слово и форма выплюнет тебе все адреса с содержанием этого слова. Возможно, это сделано для диспетчеров - чтобы быстрее находить информацию о работах не заполняя множество форм.&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p></description></item><item><title>Domoticz. Резервное копирование</title><link>https://magapov.nmph.ru/2021/09/backup-domoticz.html</link><pubDate>Mon, 13 Sep 2021 17:34:00 +0000</pubDate><guid>https://magapov.nmph.ru/2021/09/backup-domoticz.html</guid><description>&lt;p style="text-align: justify;">В &lt;a href="https://www.domoticz.com/wiki/Daily_backup_to_external_hdd" target="_blank">документации&lt;/a> к Domoticz описаны несколько вариантов копирования, но почему-то нет самого очевидного варианта с SMB. Набросал простой скрипт для резервного копирования базы domoticz.db на общий сетевой диск. В моём случае это общая папка на роутере keenetic. Внимательно читаем официальную &lt;a href="https://help.keenetic.com/hc/ru/articles/360000812220-%D0%A1%D0%B5%D1%80%D0%B2%D0%B5%D1%80-SMB-%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF-%D0%BA-%D1%84%D0%B0%D0%B9%D0%BB%D0%B0%D0%BC-%D0%B8-%D0%BF%D1%80%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B0%D0%BC-" target="_blank">инструкцию &lt;/a>как расшарить диск и правильно назначить права на шару. Скрипт размещу на самом сервере Domoticz.&amp;nbsp;&lt;/p>&lt;p>Ставим необходимые пакеты&lt;/p>
&lt;pre>&lt;code class="bash hljs">sudo apt-get install cifs-utils&lt;/code>&lt;/pre>
&lt;p>На сервере domoticz внесем изменения в fstab чтобы монтировать общий диск backup. Добавим строчку&lt;/p></description></item><item><title>Domoticz. Управление доступом к Wi-Fi по кнопке</title><link>https://magapov.nmph.ru/2020/12/domoticz-wi-fi.html</link><pubDate>Sat, 26 Dec 2020 14:44:00 +0000</pubDate><guid>https://magapov.nmph.ru/2020/12/domoticz-wi-fi.html</guid><description>&lt;p style="text-align: justify;">Поставил на рабочем столе двухклавишный &lt;a href="https://alii.pub/6vi13j?erid=2SDnjek5ESL" target="_blank">беспроводной переключатель&lt;/a> для управления освещением в кабинете. Свет включает выключает отлично, но появилась мысль повесить на клавишу немного другое действие - отключение доступа к интернет через Wi-Fi для всех устройств кроме основного - рабочего компа.&amp;nbsp;&lt;/p>&lt;p style="text-align: justify;">Да, дома интернет по LTE, и когда любое устройство в сети начинает качать картинки вконтактике - пинги растут. Особенно это заметно, когда бегаешь в Apex (онлайн-шутер). К сожалению, при всех своих достоинствах, в Keenetic'ах нет настройки приоритета траффика.&amp;nbsp;&amp;nbsp;&lt;/p>&lt;p style="text-align: justify;">Ранее я уже делал &lt;a href="https://magapov.nmph.ru/2020/01/domoticz-wi-fi.html" target="_blank">подобное&lt;/a>, для ограничения доступа к интернету телефона ребёнка. Создал виртуальный переключатель в Domoticz и привязал к нему скрипт.&amp;nbsp;&lt;/p>&lt;p>Создадим ещё два скрипта (deny\permit)&lt;/p>&lt;pre>&lt;code class="bash hljs">cd domoticz/scripts
nano&amp;nbsp;keenetic-all-deny.sh&lt;/code>&lt;/pre>&lt;p>Вставляем следующее содержимое. Не забываем изменить IP-адрес своего роутера, логин\пароль и MAC-адрес нужного устройства!&lt;br />&lt;/p>&lt;p>&lt;span>&lt;/span>&lt;/p></description></item><item><title>Domoticz. Сервис не запускается автоматически после перезагрузки</title><link>https://magapov.nmph.ru/2020/04/domoticz.html</link><pubDate>Mon, 20 Apr 2020 08:00:00 +0000</pubDate><guid>https://magapov.nmph.ru/2020/04/domoticz.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
Регулярно у меня выключают свет, и также регулярно на малинке не запускается сервис Domoticz после включения. Судя по логам - бьётся база. Т.е. когда заряд ИБП садится - малинка резко вырубается, и запись в базу Domoticz завершается с ошибками. Поэтому каждый раз я вижу в папке domoticz лог файл&amp;nbsp;domoticz_crash.log.&lt;br />
&lt;br />
Проблема ясна, надо настроить apcupsd для правильного завершения работы сервера с Domoitcz. Чтобы решить проблему со сбойным сервисом, надо &lt;a href="https://www.domoticz.com/forum/viewtopic.php?t=10984">починить базу&lt;/a> domoticz/domoticz.db. Сперва делаем дамп базы&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo apt install sqlite
sudo service domoticz stop
sqlite3 domoticz.db
.mode insert
.output dump.sql
.dump
.exit&lt;/code>&lt;/pre>
Затем исправляем ошибки&lt;br />
&lt;pre>&lt;code class="bash hljs">sqlite3 -init dump.sql repaired.db&lt;/code>&lt;/pre>
Теперь заменяем исправленной версией базы битую&lt;br />
&lt;pre>&lt;code class="bash hljs">mv repaired.db domoticz.db&lt;/code>&lt;/pre>
И запускаем сервис&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo service domoticz start&lt;/code>&lt;/pre>
&lt;/div></description></item><item><title>Domoticz. Новая версия 2020.1</title><link>https://magapov.nmph.ru/2020/03/domoticz-20201.html</link><pubDate>Tue, 24 Mar 2020 09:22:00 +0000</pubDate><guid>https://magapov.nmph.ru/2020/03/domoticz-20201.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
Поприветствуем новый стабильный релиз Domoticz&amp;nbsp;2020.1.11804. &lt;a href="https://releases.domoticz.com/releases/release/history_linux_armv7l.txt">Что нового&lt;/a>.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/2020.1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="92" data-original-width="317" height="115" src="https://magapov.nmph.ru/img/2020.1.JPG" width="400" />&lt;/a>&lt;/div>
&lt;br /></description></item><item><title>Domoticz. Ippon Smart Winner 3000</title><link>https://magapov.nmph.ru/2020/03/domoticz-ippon-smart-winner-3000.html</link><pubDate>Tue, 17 Mar 2020 16:14:00 +0000</pubDate><guid>https://magapov.nmph.ru/2020/03/domoticz-ippon-smart-winner-3000.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">&lt;div dir="ltr" style="text-align: left;" trbidi="on">Добавлю этот ИБП в Domoticz. Доступ к ИБП имею только по IP-адресу. В ПО для Ippon WinPower есть простенький веб-сервер на дефолтном 8888 порту.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/Main-Page.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="811" data-original-width="418" height="400" src="https://magapov.nmph.ru/img/Main-Page.JPG" width="205" />&lt;/a>&lt;/div>Забираем инфу с него всё тем же curl'ом со страницы https://ipaddress:8888/1/json&lt;br />
&lt;pre>&lt;code class="bash hljs">curl 'https://185.103.27.56:8888/1/json' -s --insecure
{"key":"USB/LINE-INT","device":{"key":"USB/LINE-INT","id":1,"protocol":12,"portIndex":4,"status":"","ip":null,"upsIndex":0,"statusIcon":"online","hasWarn":false},"version":"","status":"AVR Mode","model":"LINE-INT","loadPercentMax":17,"loadSegment1State":"","loadSegment2State":"","redundantNumber":"","batV":"110.0V","ls1":-1,"ls2":-1,"outA":"","outVA":"","outW":"","batCapacity":"100%","batTimeRemain":"","bypassFreq":"","bypassVolt":"","extStatus":0,"inFreq":"","inVolt":"234.6V","loadPercent":"17%","oidType":0,"outFreq":"50.0Hz","outVolt":"207.4V","warning":"","workMode":0,"iStatus":256,"noModule":false,"abmState":"","batTemp":"","cfgBatNumber":"","cfgKVA":"","emdAlarm1":"","emdAlarm2":"","emdHumidity":"","emdTemp":"","lastEvent1":"2020/03/16 21:47:30 Output: AVR mode","lastEvent2":"2020/03/16 21:47:30 Start Agent","statusColor":0,"supportTest":true,"upsTemp":"25.1C"}&lt;/code>&lt;/pre>&lt;/div>Меня в первую очередь интересуют Заряд батареи &lt;b>"batCapacity":"100%"&lt;/b> Входящее напряжение &lt;b>"inVolt":"234.6V"&lt;/b> Текущая нагрузка &lt;b>"loadPercent":"17%"&lt;/b> Температура ИБП &lt;b>"upsTemp":"25.1C"&lt;/b>&lt;br />
&lt;a href="https://magapov.nmph.ru/2018/11/domoticz_8.html">Читаем как создать новые датчики&lt;/a>&amp;nbsp;для ИБП в Domoticz. &lt;br />
&lt;br />
Для удобного разбора json, будем использовать утилиту jq&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo apt instal jq&lt;/code>&lt;/pre>Пользоваться ей предельно просто, передаем вывод curl в jq с ключом -r с именем необходимого параметра. Для Температуры это будет&lt;br />
&lt;pre>&lt;code class="bash hljs">curl 'https://192.168.0.111:8888/1/json' -s --insecure | jq -r '.upsTemp'
25.1C&lt;/code>&lt;/pre>Создаем новый скрипт &lt;br />
&lt;pre>&lt;code class="bash hljs">#!/bin/bash
#Script to grab remote info from Ippon SmartWinner 3000 and update domoticz vars

SERVER='localhost:505/'
SERVER_CMD='json.htm?type=command&amp;amp;param=udevice&amp;amp;'
SWITCH_CMD='json.htm?type=command&amp;amp;param=switchlight&amp;amp;'

ippon_volts=`curl 'https://192.168.0.111:8888/1/json' -s --insecure | jq -r '.inVolt'`
ippon_temp=`curl 'https://192.168.0.111:8888/1/json' -s --insecure | jq -r '.upsTemp'`
ippon_bchar=`curl 'https://192.168.0.111:8888/1/json' -s --insecure | jq -r '.batCapacity' | cut -d '%' -f1`
ippon_load=`curl 'https://192.168.0.111:8888/1/json' -s --insecure | jq -r '.loadPercent' | cut -d '%' -f1`
echo $ippon_volts
echo $ippon_temp
echo $ippon_bchar
echo $ippon_load
hostcmd="http://${SERVER}${SERVER_CMD}idx=123&amp;amp;nvalue=0&amp;amp;svalue=${ippon_load}"
curlres=`curl -sS $hostcmd`
hostcmd="http://${SERVER}${SERVER_CMD}idx=122&amp;amp;nvalue=0&amp;amp;svalue=${ippon_temp}"
curlres=`curl -sS $hostcmd`
hostcmd="http://${SERVER}${SERVER_CMD}idx=121&amp;amp;nvalue=0&amp;amp;svalue=${ippon_bchar}"
curlres=`curl -sS $hostcmd`
hostcmd="http://${SERVER}${SERVER_CMD}idx=120&amp;amp;nvalue=0&amp;amp;svalue=${ippon_volts}"
curlres=`curl -sS $hostcmd`&lt;/code>&lt;/pre>&lt;br />
Не забываем делать его исполняемым и добавляем в cron выполняться каждую минуту&lt;br />
&lt;pre>&lt;code class="bash hljs">chmod +x ippon.sh&lt;/code>&lt;/pre>&lt;pre>&lt;code class="bash hljs">crontab -e
*/1 * * * * /home/pi/domoticz/scripts/ippon.sh &amp;gt;/dev/null&lt;/code>&lt;/pre>&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/Main-Page_DZ.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="143" data-original-width="1194" height="76" src="https://magapov.nmph.ru/img/Main-Page_DZ.JPG" width="640" />&lt;/a>&lt;/div></description></item><item><title>Domoticz. Уведомления о работах на линии РОССЕТИ</title><link>https://magapov.nmph.ru/2020/02/rosseti-alarm.html</link><pubDate>Wed, 26 Feb 2020 10:11:00 +0000</pubDate><guid>https://magapov.nmph.ru/2020/02/rosseti-alarm.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div style="text-align: justify;">
&lt;a href="https://magapov.nmph.ru/2019/11/domoticz.html">В продолжение&lt;/a> моих изысканий на тему удобной работы с МРСК Северо-Запад (РОССЕТИ). Есть у них&amp;nbsp;&lt;a href="https://clients.mrsksevzap.ru/poweroutage">информационная страница&lt;/a> с данными об плановых отключениях. Там же можно подписаться на e-mail рассылку об отключениях (UPD! 03.2020 оно не работает, появились события о работах, а электронное письмо не пришло). Между тем, добавлю эту информацию в Domoticz и настрою уведомления о будущих работах через телеграм, или как событие в гугл-календарь.&lt;/div></description></item><item><title>Domoticz. Google Assistant</title><link>https://magapov.nmph.ru/2020/02/domoticz-google-assistant.html</link><pubDate>Sat, 22 Feb 2020 10:10:00 +0000</pubDate><guid>https://magapov.nmph.ru/2020/02/domoticz-google-assistant.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div style="text-align: justify;">
Пришло время научить Domoticz управлять устройствами голосом. В доме, где много места и много выключателей, не хочется лишний раз бегать, чтобы потушить свет.&lt;/div>
&lt;div style="text-align: justify;">
В своё время уже делал подобное управление через плагин для Tasker'а&amp;nbsp;&lt;a href="https://play.google.com/store/apps/details?id=com.joaomgcd.autovoice&amp;amp;hl=ru">Auto Voice&lt;/a>. На стареньком планшете Asus Nexus, команды выполнялись с задержкой 5-10 секунд и не было никакой связки с устройствами Domoticz. Зато систему можно было очень гибко &lt;a href="https://www.youtube.com/watch?v=55lfdlVZHOc">настроить под себя&lt;/a>&amp;nbsp;в плане общения голосом.&lt;/div>
&lt;div style="text-align: justify;">
Сейчас Auto Voice &lt;a href="https://www.reddit.com/r/tasker/comments/dmy4go/autovoice_on_google_assistant_has_been_taken_down/">опять заработал&lt;/a>, но чтобы выполнять команды через "Ок Гугл", надо дополнительно говорить "Попроси AutoVoice". Гугл понимает меня раза с пятого. Частенько путает с "Попроси автобус".&lt;/div>
&lt;div style="text-align: justify;">
Сегодня на форумах Domoticz есть две популярные ветки про управление голосом DZ.&lt;/div>
&lt;div style="text-align: justify;">
Первая - это проект на GitHub &lt;a href="https://www.domoticz.com/forum/viewtopic.php?f=69&amp;amp;t=27244">dzga&lt;/a>, второй - платный облачный сервис &lt;a href="https://www.domoticz.com/forum/viewtopic.php?f=69&amp;amp;t=20029">Controlicz&lt;/a>.&lt;/div>
&lt;br /></description></item><item><title>Domoticz. Удаленное включение и выключение компьютера</title><link>https://magapov.nmph.ru/2020/02/domoticz.html</link><pubDate>Sun, 02 Feb 2020 13:22:00 +0000</pubDate><guid>https://magapov.nmph.ru/2020/02/domoticz.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">&lt;div dir="ltr" style="text-align: left;" trbidi="on">&lt;div style="text-align: justify;">Соединим в единую систему удаленное выполнение команд через ssh и переключатели в Domoticz. Главная задача состоит в том, чтобы при помощи переключателя Domoticz выключать и выключать компьютер.&lt;/div>&lt;div style="text-align: justify;">Дано. Сервер Domoticz на операционной системе Raspbian. Медиацентр Kodi на базе LibreELEC 9.2.0 c IP-адресом 10.0.0.10&lt;/div>1. Настроим подключение через ssh без пароля (через ключи) с сервера на медиацентр.&lt;br />
&lt;br /></description></item><item><title>Domoticz. Wake On LAN</title><link>https://magapov.nmph.ru/2020/02/domoticz-wake-on-lan.html</link><pubDate>Sun, 02 Feb 2020 09:13:00 +0000</pubDate><guid>https://magapov.nmph.ru/2020/02/domoticz-wake-on-lan.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div style="text-align: justify;">
Настроим включение домашних компьютеров через WOL (&lt;a href="https://ru.wikipedia.org/wiki/Wake-on-LAN">пробуждение по сети, Wake On LAN&lt;/a>). В моём случае, это x86 медиацентр с &lt;a href="https://kodi.tv/">Kodi&lt;/a>. В дальнейшем, при помощи переключателя можно забиндовать включение телевизора на Xiaomi кнопку, или голосом.&lt;/div>
Переходим в &lt;b>Настройки &amp;gt; Оборудование&lt;/b>. Добавляем устройство Wake On LAN&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/Add-device.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="436" data-original-width="1122" height="248" src="https://magapov.nmph.ru/img/Add-device.JPG" width="640" />&lt;/a>&lt;/div>
&lt;br /></description></item><item><title>Domoticz. Управление доступом к Wi-Fi</title><link>https://magapov.nmph.ru/2020/01/domoticz-wi-fi.html</link><pubDate>Tue, 14 Jan 2020 14:22:00 +0000</pubDate><guid>https://magapov.nmph.ru/2020/01/domoticz-wi-fi.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
Создадим выключатель в Domoticz, который будет управлять доступом телефона к сети интернет через Wi-Fi.&lt;br />
АЛЯРМА! Подходит только для обладателей Keenetic'ов!!!&lt;br />
Роемся в мануале&amp;nbsp;&lt;a href="https://www.dropbox.com/s/gyrrjmaz5kesodn/cli_manual_kn-1010.pdf?dl=0">cli_manual_kn-1010&lt;/a>, ищем подходящую команду. Настроить правила доступа можно через команду&lt;b> ip hotspot&lt;/b>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/ip-hotspot.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="124" data-original-width="674" height="116" src="https://magapov.nmph.ru/img/ip-hotspot.JPG" width="640" />&lt;/a>&lt;/div>
&lt;br /></description></item><item><title>Domoticz. Broadlink RM3 Mini</title><link>https://magapov.nmph.ru/2019/11/domoticz-broadlink-rm3-mini.html</link><pubDate>Thu, 28 Nov 2019 20:27:00 +0000</pubDate><guid>https://magapov.nmph.ru/2019/11/domoticz-broadlink-rm3-mini.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">&lt;div class="separator" style="clear: both; text-align: center;">&lt;/div>В пятый раз наверное устанавливаю этот плагин для &lt;a href="http://ali.pub/45c8xu" target="_blank">Broadlink RM3 Mini&lt;/a>, и каждый раз обещаю себе записать как&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo pip3 install broadlink&lt;/code>&lt;/pre>Если вылезает ошибка...&lt;br />
&lt;pre>&lt;code class="bash hljs">"Exception:
Traceback (most recent call last):
&amp;nbsp;File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 594, in urlopen
&amp;nbsp; &amp;nbsp; chunked=chunked)
&amp;nbsp; File "/usr/share/python-wheels/urllib3-1.19.1-py2.py3-none-any.whl/urllib3/connectionpool.py", line 391, in _make_request
&amp;nbsp; &amp;nbsp; six.raise_from(e, None)"&lt;/code>&lt;/pre>&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/broadlink_domoticz_errrors.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="301" data-original-width="1008" height="190" src="https://magapov.nmph.ru/img/broadlink_domoticz_errrors.JPG" width="640" />&lt;/a>&lt;/div>... у вас как и у меня проблемы с пипкой. Обновляем до последней версии&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo pip3 install --upgrade pip&lt;/code>&lt;/pre>И начинаем установку снова&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo pip3 install broadlink
sudo pip3 install pyaes
cd domoticz/plugins/
mkdir BroadlinkRM2
cd BroadlinkRM2
wget https://www.dropbox.com/s/1msh7bxfu0bgrdg/plugin.py
wget https://www.dropbox.com/s/sc8dvpnfdleg4jj/plugin_send.py
wget https://www.dropbox.com/s/y96quspxdjn3epf/plugin_http.py
wget https://www.dropbox.com/s/q39jzm8b0dpsxtc/plugin_http.sh
chmod +x plugin*&lt;/code>&lt;/pre>Переходим в Domoticz&amp;gt;Настройка&amp;gt;Оборудование и набираем настройки&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/broadlink_domoticz.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="580" data-original-width="673" height="550" src="https://magapov.nmph.ru/img/broadlink_domoticz.JPG" width="640" />&lt;/a>&lt;/div>ВНИМАНИЕ! MAC-адрес вводим без ":"&lt;br />
Смотрим в журнал, проверяем ошибки.&lt;br />
Переходим к добавлению ИК-устройств. В Переключателях ищем &lt;b>Broadlink IR - Command&lt;/b>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/Add-device-2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="198" data-original-width="497" height="158" src="https://magapov.nmph.ru/img/Add-device-2.JPG" width="400" />&lt;/a>&lt;/div>Жмем &lt;b>Learn&lt;/b>, затем направляем ДУ-пульт в сторону Broadlink и нажимаем на нём кнопку, которую будем симулировать. После жмём &lt;b>Save &lt;/b>и переходим в меню Настройка&amp;gt;Устройства.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/Add-device-all.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="421" data-original-width="1600" height="168" src="https://magapov.nmph.ru/img/Add-device-all.JPG" width="640" />&lt;/a>&lt;/div>Добавляем новое устройство (если надо) и задаём имя.&lt;br />
&lt;br />
Мне, как обладателю телевизора без поддержки CEC, приходится держать пульт ДУ чтобы его включить, после включения miniPC с kodi. Плюс ещё нажать кнопку включения усилителя. Ппц. А потом ещё выключить...&lt;br />
Добавляем сцену с включением ТВ и усилителя и активируем её, когда Kodi появляется Online. Profit!&lt;/div>&lt;pre>&lt;code class="bash hljs">return {
 on = {
 devices = {
 107, -- IDX kodi TV 
 },
 },
 execute = function(domoticz, device)
 local powerontv = 'sudo python3.5 /home/pi/domoticz/plugins/broadlink/plugin_send.py /home/pi/domoticz/Config/broadlink/BroadlinkRM2-22-2.ini'
 local poweronhk = 'sudo python3.5 /home/pi/domoticz/plugins/broadlink/plugin_send.py /home/pi/domoticz/Config/broadlink/BroadlinkRM2-22-5.ini'
 if (domoticz.devices(107).state == 'On') then 
 os.execute(powerontv)
 os.execute(poweronhk)
 elseif (domoticz.devices(107).state == 'Off') then 
 local powerofftv = 'sudo python3.5 /home/pi/domoticz/plugins/broadlink/plugin_send.py /home/pi/domoticz/Config/broadlink/BroadlinkRM2-22-2.ini'
 local poweroffhk = 'sudo python3.5 /home/pi/domoticz/plugins/broadlink/plugin_send.py /home/pi/domoticz/Config/broadlink/BroadlinkRM2-22-4.ini'
 local mutehk = 'sudo python3.5 /home/pi/domoticz/plugins/broadlink/plugin_send.py /home/pi/domoticz/Config/broadlink/BroadlinkRM2-22-3.ini'
 os.execute(mutehk)
 os.execute(powerofftv)
 os.execute(poweroffhk)
 end
 end}&lt;/code>&lt;/pre></description></item><item><title>Domoticz. Уведомления в телеграм через VPN</title><link>https://magapov.nmph.ru/2019/11/domoticz-tg-vpn.html</link><pubDate>Mon, 18 Nov 2019 18:43:00 +0000</pubDate><guid>https://magapov.nmph.ru/2019/11/domoticz-tg-vpn.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div style="text-align: justify;">
Ага, спасибо Роскомнадзору.&lt;/div>
&lt;div style="text-align: justify;">
Посвящается всем тем, кто &lt;a href="https://kvvhost.ru/2018/01/18/notify-domoticz-to-telegram/">настроил&lt;/a> Domoticz на отправку уведомлений через телеграм и удивился, почему уведомления не прилетают. Да потому что https://api.telegram.org прикрыл РКН.&lt;/div>
&lt;div style="text-align: justify;">
И тут я начинаю понимать, что иметь свой VPS-сервер &lt;a href="https://crm.vds6.net/?affid=5" target="_blank">за 3 бакса&lt;/a> с выделенным IP другой страны, уже не роскошь, а необходимость.&amp;nbsp;&lt;/div>
&lt;div style="text-align: justify;">
Раз. Настраиваем любой VPN-сервер, я &lt;a href="https://magapov.nmph.ru/2018/09/pritunl-ubuntu-1604.html" target="_blank">использовал&lt;/a> Pritunl. Через веб-морду в pritunl создадим нового пользователя, качаем ovpn-профиль и копируем его содержимое в настройки нового подключения прямо через веб-морду keenetic'а&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/keenetic-vpn-connection.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="712" data-original-width="1018" height="446" src="https://magapov.nmph.ru/img/keenetic-vpn-connection.JPG" width="640" />&lt;/a>&lt;/div>
Два. Добавляем маршруты для&amp;nbsp;&lt;span style="text-align: justify;">https://api.telegram.org.&lt;/span>&lt;br />
&lt;div style="text-align: justify;">
2ip.ru показал, что t.me занимает IP-диапазон&amp;nbsp;149.154.164.0 - 149.154.167.255&lt;br />
Что соответствует маске /22 или 255.255.252.0&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-BC-D0-B0-D1-80-D1-88-D1-80-D1-83-D1-82-D0-B4-D0-BE-t.me.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="241" data-original-width="1600" src="https://magapov.nmph.ru/img/D0-BC-D0-B0-D1-80-D1-88-D1-80-D1-83-D1-82-D0-B4-D0-BE-t.me.JPG" />&lt;/a>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;/div>
&lt;div style="text-align: justify;">
В поле "Адрес шлюза" указываем IP который получил keenetic в VPN-сети.&amp;nbsp;&lt;/div>
&lt;div style="text-align: justify;">
Проверяем через браузер&amp;nbsp;&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/tg_check.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="543" data-original-width="945" height="366" src="https://magapov.nmph.ru/img/tg_check.JPG" width="640" />&lt;/a>&lt;/div>
&lt;div style="text-align: justify;">
Ага, пошло. Теперь проверяем из Domoticz. Настраиваем секцию "Telegram" и жмем Тест. Прилетело - хорошо, нет читаем журнал событий и смотрим что не так.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/tg_notification.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="184" data-original-width="581" height="202" src="https://magapov.nmph.ru/img/tg_notification.jpg" width="640" />&lt;/a>&lt;/div>
Преимущества прямых маршрутов том, что через VPN-подключение идёт только трафик на api.telegram.org. Всё остальное летит напрямую.&amp;nbsp;&lt;/div>
&lt;/div></description></item><item><title>SSOCR. Оцифровка показаний приборов</title><link>https://magapov.nmph.ru/2019/11/ssocr.html</link><pubDate>Mon, 18 Nov 2019 07:37:00 +0000</pubDate><guid>https://magapov.nmph.ru/2019/11/ssocr.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div style="text-align: justify;">
Навеяно &lt;a href="https://magapov.nmph.ru/2018/11/domoticz_8.html" target="_blank">темой&lt;/a> про мониторинг напряжения. А что делать, если нет таких ИБП? Покупать три штуки на каждую фазу? Бред конечно. Хотя бы для зрительного контроля, установлен РН-106, или ВР-М03-1?&amp;nbsp;&lt;/div>
&lt;div style="text-align: justify;">
&lt;br />&lt;/div>
&lt;div style="text-align: justify;">
Ещё с тех времен, когда техкомната не была даже зашита гипсокартоном, уже висела малинка с вебкамерой. чтобы смотреть что там происходит. А почему бы не снимать показания РН в реальном времени, и оцифровывать их в Domoticz?! Если исхитриться, то можно захватить в кадр и текущую температуру теплоносителя, которую показывает котел!&lt;/div>
&lt;div style="text-align: justify;">
&lt;br />&lt;/div>
&lt;div style="text-align: justify;">
Что надо? Собственно вебкамера, направленная на щит, по возможности сфокусированная на реле с показаниями. ffmpeg, для записи снимков в формате jpg и программа ssocr для распознавания изображений.&lt;/div>
&lt;div style="text-align: justify;">
Снимки делаю при помощи ffmpeg, на максимальном разрешении, возможном для камеры Microsoft HD3000.&lt;br />
&lt;pre>&lt;code class="bash hljs">ffmpeg -f video4linux2 -input_format mjpeg -video_size 1280x720 -i /dev/video0 -vframes 1 -f mjpeg /tmp/snapshot.jpeg&lt;/code>&lt;/pre>
Далее, с ssocr пришлось &lt;a href="https://www.unix-ag.uni-kl.de/~auerswal/ssocr/" target="_blank">вникать&lt;/a>.&lt;/div>
&lt;div style="text-align: justify;">
Главное - это надёжно зафиксировать камеру, чтобы изображение было максимально статично. Иначе будет сбоить ssocr&amp;nbsp; и выкидывать фокусы.&lt;/div>
&lt;pre>&lt;code class="bash hljs">sudo apt-get update
sudo apt-get install libx11-dev
sudo apt-get install libimlib2-dev
git clone https://github.com/auerswal/ssocr.git
cd ssocr
make&lt;/code>&lt;/pre>
Скопируем исполняемый файл &lt;br />
&lt;pre>&lt;code class="bash hljs">sudo cp ./ssocr /usr/local/bin/ssocr&lt;/code>&lt;/pre>
&lt;div style="text-align: justify;">
!!! Буду разбирать весь процесс, чтобы было яснее) И ещё будут только скриншоты, чтобы ничего не копипастили в консоль. а сами набирали)&lt;/div>
&lt;div style="text-align: justify;">
Приступаем. Исходное изображение.&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/IMG_20191114_095044.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://magapov.nmph.ru/img/IMG_20191114_095044.jpg" width="640" />&lt;/a>&lt;/div>
Как видите, крупноватый кадр для теста)&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-14-37-10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="218" data-original-width="1373" height="100" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-14-37-10.png" width="640" />&lt;/a>&lt;/div>
Ок, тут понятно, вроде ругается, что нашёл только одну цифру. Укажем параметр -d -1 чтобы показал все цифры (-d, --number-digits=# number of digits in image (-1 for auto))&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-15-39-10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="218" data-original-width="1373" height="100" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-15-39-10.png" width="640" />&lt;/a>&lt;/div>
Хмм, 8. Что значит 8? Добавим наконец вывод отладочной информации -D, в виде файла testbild.png (да, имя выходного файла можно не указывать, testbild.png оно по-умолчанию)&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-15-46-51.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="182" data-original-width="1373" height="84" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-15-46-51.png" width="640" />&lt;/a>&lt;/div>
Опять "8". Посмотрим наконец testbild.png&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-15-47-40.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="727" data-original-width="905" height="513" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-15-47-40.png" width="640" />&lt;/a>&lt;/div>
&lt;div style="text-align: justify;">
Ага, уже повеселее. Что значат эти цветные линии?&lt;/div>
&lt;div style="text-align: justify;">
&lt;i>"In this image the left border of a digit is represented by a red column, the right border as a blue column. Horizontal green lines of digit width show connected vertical digit parts."&lt;/i>&lt;/div>
&lt;div style="text-align: justify;">
Понятно, значит всё это изображение, ssocr расценил как одну цифру, 8. Попробуем сузить область для поиска цифр при помощи параметра crop. Нам потребуются координаты начала обрезания и ширина\высота изображения. Открываем изображение через GIMP, ставим курсор на левый угол дисплея первого РН, записываем (1320*1288).&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-15-52-22.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="903" data-original-width="1077" height="536" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-15-52-22.png" width="640" />&lt;/a>&lt;/div>
&lt;div style="text-align: justify;">
Ставим курсор на правый нижний угол третьего РН и записываем координаты (2330*1420). Теперь вычитаем от них координаты первого измерения и получаем ширину\высоту вырезанного изображения (1010*132). Duuuhhh!&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-00-20.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="218" data-original-width="1373" height="100" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-00-20.png" width="640" />&lt;/a>&lt;/div>
Ого! Понеслась! Сколько цифр!&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-01-31.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="276" data-original-width="905" height="194" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-01-31.png" width="640" />&lt;/a>&lt;/div>
&lt;div style="text-align: justify;">
Теперь появилась другая проблема. Вместо 3х цифр на первом дисплее, ssocr видит одну - 8. Дальше он не может разобраться что находится между дисплеями остальных РН. Попробуем поиграть с контрастом -t (--threshold=THRESH use THRESH (in percent) to distinguish black from white). По-умолчанию эта разница установлена в 50%. Попробуем по больше, 90.&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-12-42.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="218" data-original-width="1373" height="100" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-12-42.png" width="640" />&lt;/a>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;/div>
Странно, теперь видит только "-"&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-13-27.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="276" data-original-width="905" height="194" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-13-27.png" width="640" />&lt;/a>&lt;/div>
&lt;div style="text-align: justify;">
Нижнюю полосу видите? Вот тут он застрял. Мне потребовалось попробовать много вариантов со всеми параметрами чтобы сдвинуться с этого места. Оказалось, что по-умолчанию, передний план - черный, задний план белый. Если указать как надо, чтобы цифры ssocr увидел белыми, то всё встает на свои места!&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-25-36.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="218" data-original-width="1373" height="100" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-25-36.png" width="640" />&lt;/a>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-26-18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="276" data-original-width="905" height="194" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-26-18.png" width="640" />&lt;/a>&lt;/div>
Осталась дерзкая ".", которую можно исключить, указав выводить только цифры (-c, --charset=KEYWORD select recognized characters use -c help for list of KEYWORDS)&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-27-54.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="218" data-original-width="1373" height="100" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-27-54.png" width="640" />&lt;/a>&lt;/div>
&lt;div style="text-align: justify;">
Ан нет, не то)) Теперь "-" превратилась в "_". Попробуем вообще игнорировать изображения, меньше 4 пикселей. Примерно на столько выглядит эта "_"&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-40-18.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="218" data-original-width="1373" height="100" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-40-18.png" width="640" />&lt;/a>&lt;/div>
Бинго!&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-41-15.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="276" data-original-width="905" height="194" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-41-15.png" width="640" />&lt;/a>&lt;/div>
Теперь можно разбить это девятизначное число при помощи fold&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-47-38.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="218" data-original-width="1373" height="100" src="https://magapov.nmph.ru/img/D0-A1-D0-BD-D0-B8-D0-BC-D0-BE-D0-BA-D1-8D-D0-BA-D1-80-D0-B0-D0-BD-D0-B0-D0-BE-D1-82-2019-11-16-16-47-38.png" width="640" />&lt;/a>&lt;/div>
Есть конечно у этого варианта огромный минус, если камера дернется - всё встанет.&lt;br />
&lt;br />
Засунем эти показания в Domoticz. Создадим три датчика с типом Напряжение&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/sensor-voltage.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="245" data-original-width="428" height="183" src="https://magapov.nmph.ru/img/sensor-voltage.jpg" width="320" />&lt;/a>&lt;/div>
Запишем его IDX, бла-бла-бла (см. как всё подготовить &lt;a href="https://magapov.nmph.ru/2018/11/domoticz_8.html" target="_blank">тут&lt;/a>)&lt;br />
Делаем исполняемым, добавляем в крон и смотрим, как обновляется напряжение.&lt;/div></description></item><item><title>Domoticz. Уведомляем РОССЕТИ о плохом напряжении</title><link>https://magapov.nmph.ru/2019/11/domoticz.html</link><pubDate>Sun, 10 Nov 2019 15:32:00 +0000</pubDate><guid>https://magapov.nmph.ru/2019/11/domoticz.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div style="text-align: justify;">
Мне сказочно повезло, я нахожусь последним на линии от ТП. А до меня живет удивительный сосед (не могу вычислить конкретно кто), который не заморачивался с распределением нагрузки по трем фазам и нахерачил все свои обогреватели на одну фазу. И теперь, с наступлением холодов, рандомно, в периоды с 6-8 утра, с 19-22 и при свете луны, у меня стабильно отщелкивают &lt;a href="https://novatek-electro.com/produktsiya/odnofaznye-rele-napryazheniya/rele-napryazheniya-rn-106.html" target="_blank">реле&lt;/a> на низком напряжении в 198 В.&lt;/div>
&lt;div style="text-align: justify;">
По нормативам, отклонения возможны в пределах +-10%. Итого от 198 до 242. У меня опускается до 184.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-A0-D0-9D-106.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="395" data-original-width="622" height="406" src="https://magapov.nmph.ru/img/D0-A0-D0-9D-106.JPG" width="640" />&lt;/a>&lt;/div>
&lt;/div>
&lt;div style="text-align: justify;">
Звонил, писал, приезжали, замеряли - и ничего. Ничего не поменялось. Я понимаю, что надо искать негодяя, который 100% на 16А автомат повесил все обогреватели. А пока ищете, поставьте мне трехфазный стабилизатор напряжения на 15КВт)&lt;/div>
&lt;div style="text-align: justify;">
Это всё нервы. Бесит когда гаснет свет, или вырубается микроволновка.&lt;br /></description></item><item><title>Антенна LTE для Huawei e3372h</title><link>https://magapov.nmph.ru/2019/10/lte-huawei-e3372h.html</link><pubDate>Tue, 29 Oct 2019 14:12:00 +0000</pubDate><guid>https://magapov.nmph.ru/2019/10/lte-huawei-e3372h.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div style="text-align: justify;">
Перешёл с МТС на Yota. Безлимит на скорости в 30МБит всего за 550 рублей. Не смотря на то, что вышка оператора всего в 1,5 км от дома, поставил себе &lt;a href="http://ali.pub/3x71bu" target="_blank">усилитель сигнала&lt;/a>&amp;nbsp;(для Huawei e3372h выбирайте коннекторы CRC9). Интернет стал стабильнее. Скорость выросла до 40Мбит (speedtest).&lt;/div>
&lt;div style="text-align: justify;">
Добавил мониторинг уровня сигнала &lt;a href="https://help.keenetic.com/hc/ru/articles/360000403359-%D0%9F%D0%B0%D1%80%D0%B0%D0%BC%D0%B5%D1%82%D1%80%D1%8B-%D0%BA%D0%B0%D1%87%D0%B5%D1%81%D1%82%D0%B2%D0%B0-%D1%81%D0%B8%D0%B3%D0%BD%D0%B0%D0%BB%D0%B0-LTE" target="_blank">RSSI и CINR&lt;/a>, а также статус 4G подключения в Domoticz.&lt;/div>
&lt;div style="text-align: justify;">
Вашему вниманию графики с domoticz, для оценки CINR и RSSI&lt;/div>
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;">&lt;tbody>
&lt;tr>&lt;td style="text-align: center;">&lt;a href="https://magapov.nmph.ru/img/d_anten-cinr.JPG" style="margin-left: auto; margin-right: auto;">&lt;img border="0" data-original-height="443" data-original-width="1495" height="188" src="https://magapov.nmph.ru/img/d_anten-cinr.JPG" width="640" />&lt;/a>&lt;/td>&lt;/tr>
&lt;tr>&lt;td class="tr-caption" style="text-align: center;">CINR&lt;/td>&lt;/tr>
&lt;/tbody>&lt;/table>
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;">&lt;tbody>
&lt;tr>&lt;td style="text-align: center;">&lt;a href="https://magapov.nmph.ru/img/d_anten-rssi.JPG" style="margin-left: auto; margin-right: auto;">&lt;img border="0" data-original-height="446" data-original-width="1516" height="188" src="https://magapov.nmph.ru/img/d_anten-rssi.JPG" width="640" />&lt;/a>&lt;/td>&lt;/tr>
&lt;tr>&lt;td class="tr-caption" style="text-align: center;">RSSI&lt;/td>&lt;/tr>
&lt;/tbody>&lt;/table>
&lt;div style="text-align: justify;">
С начала октября по 22 октября модем был с подключенной антенной внутри техкомнаты. С 23 по 28 октября - вообще без антенны. А вот 28 октября я наконец покрасил и повесил её на улицу, и направил (примерно) на вышку сотовой связи.&lt;/div>
&lt;div style="text-align: justify;">
Установка антенны дает существенный прирост уровня CINR (в 2-2,5 раза) и RSSI (на 10 Dbi). Причем усиление сигнала происходит только после выноса антенны на улицу.&lt;/div>
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;">&lt;tbody>
&lt;tr>&lt;td style="text-align: center;">&lt;a href="https://magapov.nmph.ru/img/2-indoor-antenna.jpg" style="margin-left: auto; margin-right: auto;">&lt;img border="0" data-original-height="1600" data-original-width="1278" height="400" src="https://magapov.nmph.ru/img/2-indoor-antenna.jpg" width="318" />&lt;/a>&lt;/td>&lt;/tr>
&lt;tr>&lt;td class="tr-caption" style="text-align: center;">Антенна внутри техкомнаты, смотрит в даль&lt;/td>&lt;/tr>
&lt;/tbody>&lt;/table>
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;">&lt;tbody>
&lt;tr>&lt;td style="text-align: center;">&lt;a href="https://magapov.nmph.ru/img/2-outdoor-antenna.jpg" style="margin-left: auto; margin-right: auto;">&lt;img border="0" data-original-height="1282" data-original-width="1600" height="320" src="https://magapov.nmph.ru/img/2-outdoor-antenna.jpg" width="400" />&lt;/a>&lt;/td>&lt;/tr>
&lt;tr>&lt;td class="tr-caption" style="text-align: center;">Антенна на фасаде&lt;/td>&lt;/tr>
&lt;/tbody>&lt;/table>
&lt;br />
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;">&lt;tbody>
&lt;tr>&lt;td style="text-align: center;">&lt;a href="https://magapov.nmph.ru/img/2-outdoor-antenna_1.jpg" style="margin-left: auto; margin-right: auto;">&lt;img border="0" data-original-height="1600" data-original-width="1276" height="400" src="https://magapov.nmph.ru/img/2-outdoor-antenna_1.jpg" width="318" />&lt;/a>&lt;/td>&lt;/tr>
&lt;tr>&lt;td class="tr-caption" style="text-align: center;">Процесс монтажа&lt;/td>&lt;/tr>
&lt;/tbody>&lt;/table>
Для создания датчиков в Domoticz создадим скрипт для получения данных о LTE-подключении при помощи &lt;a href="https://losst.ru/kak-polzovatsya-curl" target="_blank">curl&lt;/a>. Способ универсальный, так как можно парсить вывод абсолютно с любого роутера. Будь он на стоковой прошивке, или на Openwrt. В моём случае это &lt;a href="https://keenetic.ru/ru/keenetic-giga" target="_blank">Keenetic KN-1010&lt;/a>.&lt;br />
Подключаемся к серверу Domoticz и набираем&lt;br />
&lt;pre>&lt;code class="bash hljs">curl -s --digest --user user:password "http://10.0.0.1/ci" -H "Content-Type: application/xml" --data-binary ' &lt;request id="1"> &lt;command name="show interface">&lt;/command> &lt;name>UsbLte0&lt;/name> &lt;/request>'&lt;/code>&lt;/pre>
Где&lt;br />
user:password - логин и пароль (через ":") для доступа к веб-морде роутера&lt;br />
"http://10.0.0.1/ci" - адрес командной строки роутера&lt;br />
command name="show interface" - команда для вывода информации об интерфейсах UsbLte0&lt;br />
Получаем примерно это&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/cli.JPG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="756" data-original-width="663" height="640" src="https://magapov.nmph.ru/img/cli.JPG" width="560" />&lt;/a>&lt;/div>
&lt;br />
&lt;div>
Из этого добра нам потребуются поля lte_state,&amp;nbsp; cinr и rssi&lt;/div>
&lt;div>
&lt;pre>&lt;code class="bash hljs">curl -s --digest --user user:password "http://10.0.0.1/ci" -H "Content-Type: application/xml" --data-binary ' &lt;request id="1"> &lt;command name="show interface">&lt;/command> &lt;name>UsbLte0&lt;/name> &lt;/request>' | grep rssi
&lt;rssi>-79&lt;/rssi>&lt;/code>&lt;/pre>
&lt;/div>
Смысл уловили?! Теперь создаем исполняемый скрипт rssi.sh в директории&amp;nbsp;domoticz/scripts/. За шаблон для этого скрипта я взял файл из &lt;a href="https://magapov.nmph.ru/2018/11/domoticz_8.html" target="_blank">Мониторинг ИБП&lt;/a>. Скачать можно &lt;a href="https://www.dropbox.com/s/69rr7aet2gpd4if/rssi.sh?dl=0" target="_blank">тут&lt;/a>. Не забудьте поменять username, password и адрес роутера в скрипте.&lt;br />
&lt;br />
Создадим в Domoticz один переключатель для отображения статуса подключения Настройка&amp;gt;Оборудование&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/d_create.PNG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="211" data-original-width="1500" height="89" src="https://magapov.nmph.ru/img/d_create.PNG" width="640" />&lt;/a>&lt;/div>
&lt;div>
Далее создадим два датчика&lt;/div>
&lt;div>
&lt;br />&lt;/div>
&lt;div>
И запишем их idx, которые следует вписать в скрипт rssi.sh&lt;/div>
&lt;div>
&lt;br />&lt;/div>
&lt;div>
Делаем файл исполняемым&amp;nbsp;&lt;/div>
&lt;div>
&lt;pre>&lt;code class="bash hljs">chmod +x rssi.sh&lt;/code>&lt;/pre>
&lt;/div>
&lt;div>
И заносим его в cron&lt;/div>
&lt;div>
&lt;pre>&lt;code class="bash hljs">*/1 * * * * /home/pi/domoticz/scripts/rssi.sh &amp;gt;/dev/null&lt;/code>&lt;/pre>
&lt;/div>
&lt;div>
&lt;/div>
Качаем кастомные иконки для уровня сигнала и состояния интернета и добавляем их через Настройка&amp;gt;Дополнительно&amp;gt;Пользовательские иконки&lt;br />
Скачать иконки для &lt;a href="https://www.dropbox.com/s/60w2he3xk3dzpk9/4G-RSSI.zip?dl=0" target="_blank">rssi&amp;amp;cinr&lt;/a> и для статуса &lt;a href="https://www.dropbox.com/s/l7ecgmqdokzl179/4G-internet.zip?dl=0" target="_blank">интернета&lt;/a>.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/d_icons-list.PNG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="347" data-original-width="1600" height="138" src="https://magapov.nmph.ru/img/d_icons-list.PNG" width="640" />&lt;/a>&lt;/div>
&lt;div>
Редактируем датчик и выбираем иконки&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/d_add-icons.PNG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="457" data-original-width="820" height="222" src="https://magapov.nmph.ru/img/d_add-icons.PNG" width="400" />&lt;/a>&lt;/div>
&lt;div>
В итоге всё выглядит так&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/d_cinr-rssi.PNG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="572" data-original-width="1497" height="244" src="https://magapov.nmph.ru/img/d_cinr-rssi.PNG" width="640" />&lt;/a>&lt;/div>
&lt;div>
Ещё бы кто подсказал, как в Domoticz создать кастомный датчик с несколькими показаниями (как погодный, температура и влажность), чтобы не городить целую кучу.&lt;/div>&lt;div>&lt;br />&lt;/div>&lt;div>&lt;a href="https://magapov.nmph.ru/2021/10/domoticz-4g.html" target="_blank">Переписал все в лучших традициях на python, и для новых прошивок KeeneticOC.&amp;nbsp;&lt;/a>&lt;/div>
&lt;/div></description></item><item><title>Domoticz. Новая версия 4.10659</title><link>https://magapov.nmph.ru/2019/05/domoticz-410659.html</link><pubDate>Thu, 09 May 2019 05:55:00 +0000</pubDate><guid>https://magapov.nmph.ru/2019/05/domoticz-410659.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">Губит меня страсть к обновлениям. 2 года кажется без проблем просидел на версии 4.9700 и тут, &lt;strike>в пятницу после обеда&lt;/strike> нажал кнопку обновить в Domoticz.&lt;br />
В сухом остатке, при запуске ошибка&lt;br />
&lt;pre>&lt;code class="bash hljs">service domoticz.sh start 
/home/john/domoticz/domoticz: /lib/x86_64-linux-gnu/libm.so.6: version `GLIBC_2.27' not found (required by /home/john/domoticz/domoticz)&lt;/code>&lt;/pre>Смотрим какая версия стоит&lt;br />
&lt;pre>&lt;code class="bash hljs">apt-cache policy libc6
libc6:
&amp;nbsp; Установлен: 2.19-0ubuntu6.15
&amp;nbsp; Кандидат:&amp;nbsp; &amp;nbsp;2.19-0ubuntu6.15
&amp;nbsp; Таблица версий:
&amp;nbsp;*** 2.19-0ubuntu6.15 0
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 500 http://us.archive.ubuntu.com/ubuntu/ trusty-updates/main amd64 Packages
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 500 http://security.ubuntu.com/ubuntu/ trusty-security/main amd64 Packages
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 100 /var/lib/dpkg/status
&amp;nbsp; &amp;nbsp; &amp;nbsp;2.19-0ubuntu6 0
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 500 http://us.archive.ubuntu.com/ubuntu/ trusty/main amd64 Packages&lt;/code>&lt;/pre>Чтобы обновить версию до требуемой 2.27 - надо обновить дистрибутив до 18.04. Привет systemd&lt;br />
&lt;br />
UPDATE 9.05.2019!&lt;br />
Через 4 дня вышло новое обновление 4.10717. Domoticz запускается без ошибок&lt;br />
&lt;pre>&lt;code class="bash hljs">curl -sSL install.domoticz.com | sudo bash&lt;/code>&lt;/pre></description></item><item><title>Domoticz. Управление КИВ-125</title><link>https://magapov.nmph.ru/2018/12/domoticz-125.html</link><pubDate>Sun, 09 Dec 2018 09:57:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/12/domoticz-125.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">&lt;div style="text-align: justify;">Добавим возможность удаленного управления клапаном КИВ-125 для автоматизации простой и не дорогой вентиляции.&lt;/div>&lt;div style="text-align: justify;">По моим расчетам, в двухэтажном доме будет стоять по одному клапану на комнату итого 6-7 КИВов. Это ж сколько раз надо вставать и дёргать за шнурок, если кому-то "задуло"?!&lt;/div>&lt;div style="text-align: justify;">&lt;br />
&lt;/div>&lt;div style="text-align: justify;">Есть два варианта подключения&lt;/div>&lt;div style="text-align: justify;">На каждый КИВ вешать по &lt;a href="http://ali.pub/2w5xhh" target="_blank">Wemos D1 mini&lt;/a> (или любой другой ESP8266) и сервопривод &lt;a href="http://ali.pub/2ybgsm" target="_blank">SG90&lt;/a>. Потребуется всего один провод питания, но увеличится количество подключений по Wifi, так как у каждого ESP8266 свой IP-адрес.&lt;/div>&lt;div style="text-align: justify;">Сделать центральный узел с Wemos D1 mini и подключить к нему расширительную плату PCA9685. От каждого КИВа тянуть по одному 3х жильному кабелю для коммутации сервопривода &lt;a href="https://alii.pub/6vi286?erid=2SDnjdinQ8Q" target="_blank">SG90&lt;/a> к &lt;a href="http://ali.pub/2ybgny" target="_blank">PCA9685&lt;/a>.&lt;/div>&lt;div style="text-align: justify;">&lt;br />
&lt;/div>&lt;div style="text-align: justify;">Так как провода тянуть придётся по-любому, выбрал второй вариант с центральным Wemos.&amp;nbsp;&lt;/div>&lt;br />
Программная подготовка.&lt;br />
При &lt;a href="https://magapov.nmph.ru/2018/11/wemos-d1-mini-tasmota-platformio.html" target="_blank">прошивке&lt;/a> Wemos D1 mini, надо добавить поддержку драйвера PCA9685 в &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">my_user_config.h&lt;/span>&lt;/b>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/wemos-pca9685.JPG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="616" data-original-width="1176" height="332" src="https://magapov.nmph.ru/img/wemos-pca9685.JPG" width="640" />&lt;/a>&lt;/div>&lt;div style="text-align: justify;">Будем считать, что &lt;a href="https://magapov.nmph.ru/2017/11/mosquitto-ubuntu-1404.html" target="_blank">сервер MQTT&lt;/a> уже установлен и настроен. Прописываем настройки сервера либо в &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">my_user_config.h&lt;/span>&lt;/b>&amp;nbsp;сразу, либо через веб-морду управлением Wemos позже.&lt;/div>&lt;div style="text-align: justify;">После прошивки, подключаем Wemos к PCA9685 по схеме&lt;/div>&lt;div style="text-align: justify;">5V -&amp;gt; VCC&lt;/div>G-&amp;gt; GND&lt;br />
D1 -&amp;gt; SCL&lt;br />
D2 -&amp;gt; SDA&lt;br />
&lt;br />
Через веб-морду, правим настройки портов D1 и D2&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/wemos-config.JPG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="858" data-original-width="369" height="640" src="https://magapov.nmph.ru/img/wemos-config.JPG" width="274" />&lt;/a>&lt;/div>&lt;div style="text-align: justify;">Осталось подключить сервопривод SG90 к плате PCA9685 к одному из 15 портов и подключаем питание 5V2A к PCA9685 и 5V2A к Wemos.&amp;nbsp;&lt;/div>&lt;div style="text-align: justify;">Внимание! В документации к PCA9685 указано, что ёмкость конденсатора должна выбираться из расчета 100мкф на 1 SG90. В моём случае, мне пришлось перепаять штатный конденсатор 10V 470мкф на более ёмкий 10V 1000мкф, так как я планирую подключить до 10 сервоприводов.&lt;/div>&lt;div style="text-align: justify;">&lt;br />
&lt;/div>&lt;div style="text-align: justify;">Управление поворотом сервопривода осуществляется через http-запрос, MQTT или через консоль с веб-морды Wemos. Я назначил устройству статический IP-адрес, и буду посылать команды через http. Список команд описан на &lt;a href="https://github.com/arendst/Sonoff-Tasmota/wiki/PCA9685" target="_blank">вики&lt;/a> Tasmota&lt;/div>&lt;div style="text-align: justify;">Нас интересуют&amp;nbsp;&lt;/div>&lt;div style="text-align: justify;">&lt;pre>&lt;code class="bash hljs">http://ip-address/cm?cmnd=driver15%20pwm,1,400&lt;/code>&lt;/pre>&lt;/div>&lt;div style="text-align: justify;">Где &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">1&lt;/span>&lt;/b> - это номер порта PCA9685, к которому подключен сервопривод&lt;/div>&lt;div style="text-align: justify;">А &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">400&lt;/span>&lt;/b> - длина импульса.&lt;/div>&lt;div style="text-align: justify;">Подбирать длину импульса (читай угол поворота привода) пока бесполезно, так как все положения изменятся после установки привода в КИВ.&lt;/div>&lt;div style="text-align: justify;">&lt;br />
&lt;/div>&lt;div style="text-align: justify;">Теперь поработаем руками.&lt;/div>&lt;div style="text-align: justify;">Потребуется жёсткая пластина ~140*35мм в которой будет возможно сделать посадочное отверстие для SG90. Мне попалась текстолитовая пластина, толщиной 3мм. Отрезаем шпильку и прикручиваем по центру к шестеренкам пластиковую лопасть из комплекта SG90 чтобы сервопривод был ровно по центру. Закрепляем сервопривод на пластине, и шпильками прикручиваем к корпусу КИВа.&lt;/div>&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/D0-BF-D0-BB-D0-B0-D1-82-D1-84-D0-BE-D1-80-D0-BC-D0-B01.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1600" data-original-width="1281" height="640" src="https://magapov.nmph.ru/img/D0-BF-D0-BB-D0-B0-D1-82-D1-84-D0-BE-D1-80-D0-BC-D0-B01.jpg" width="512" />&lt;/a>&lt;/div>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/D0-BF-D0-BB-D0-B0-D1-82-D1-84-D0-BE-D1-80-D0-BC-D0-B02.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1285" data-original-width="1600" height="512" src="https://magapov.nmph.ru/img/D0-BF-D0-BB-D0-B0-D1-82-D1-84-D0-BE-D1-80-D0-BC-D0-B02.jpg" width="640" />&lt;/a>&lt;/div>После того, как всё ровно и крепко держится - переходим к настройкам поворота лопастей. Подбираем параметр xxx и записываем, при каких лопасти полностью закрыты, открыты и приоткрыты.&lt;br />
&lt;pre>&lt;code class="bash hljs">http://ip-address/cm?cmnd=driver15%20pwm,1,xxx&lt;/code>&lt;/pre>&lt;div class="separator" style="clear: both; text-align: center;">&lt;iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/EQ8VEUgnA0M/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/EQ8VEUgnA0M?feature=player_embedded" width="320">&lt;/iframe>&lt;/div>Осталось добавить все это в Domoticz. Создадим новое устройство &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Настройка &amp;gt; Оборудование &amp;gt; Тип Dummy&lt;/span>&lt;/b>&lt;br />
Жмём &lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">&lt;b>Создать виртуальные датчики&lt;/b>&lt;/span>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/dummy-servo.JPG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="71" data-original-width="1321" height="34" src="https://magapov.nmph.ru/img/dummy-servo.JPG" width="640" />&lt;/a>&lt;/div>Тип датчика Переключатель селекторный&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/dummy-servo--D0-BA-D0-B8-D0-B2125.JPG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="281" data-original-width="478" height="235" src="https://magapov.nmph.ru/img/dummy-servo--D0-BA-D0-B8-D0-B2125.JPG" width="400" />&lt;/a>&lt;/div>Переходим в &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Переключатели&lt;/span>&lt;/b>, ищем свой КИВ-125 и жмём &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Редактировать&lt;/span>&lt;/b>.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/dmoticz--D0-BA-D0-B8-D0-B2125--D0-BD-D0-B0-D1-81-D1-82-D1-80-D0-BE-D0-B9-D0-BA-D0-B0.JPG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="439" data-original-width="1303" height="214" src="https://magapov.nmph.ru/img/dmoticz--D0-BA-D0-B8-D0-B2125--D0-BD-D0-B0-D1-81-D1-82-D1-80-D0-BE-D0-B9-D0-BA-D0-B0.JPG" width="640" />&lt;/a>&lt;/div>Создаём 3 уровня переключателя и 3 действия в зависимости от подобранных параметров.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/dmoticz--D0-BA-D0-B8-D0-B2125.JPG" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="181" data-original-width="450" height="160" src="https://magapov.nmph.ru/img/dmoticz--D0-BA-D0-B8-D0-B2125.JPG" width="400" />&lt;/a>&lt;/div>&lt;div style="text-align: justify;">Тесты показали, что при длине витой пары около 5 метров, сигнал на сервопривод не теряется, и задержки никакой нет. Я переживал что из-за просадки напряжения на длинном проводе, сервы будут отваливаться.&lt;br />
&lt;br />
&lt;b>!!!UPD 10.2019&lt;/b>&lt;br />
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;">&lt;tbody>
&lt;tr>&lt;td style="text-align: center;">&lt;a href="https://magapov.nmph.ru/img/kiv-debug.jpg" style="margin-left: auto; margin-right: auto;">&lt;img border="0" data-original-height="1600" data-original-width="1283" height="640" src="https://magapov.nmph.ru/img/kiv-debug.jpg" width="512" />&lt;/a>&lt;/td>&lt;/tr>
&lt;tr>&lt;td class="tr-caption" style="text-align: center;">Режим отладки. Никак не могу придумать как красиво подключить к витухе&lt;/td>&lt;/tr>
&lt;/tbody>&lt;/table>Запустил наконец в продакшн в детской КИВ-125 и подключил по витой паре. Расстояние до сервера wemos примерно 8-9 метров. Выскочил неприятный момент. После отправки команды на любое действие (pwm 300, pwm 500 или любой другой), действие совершается, но затем SG90 начинает мерзко дёргаться (см. видео).&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/ca4jYW6HJ5k/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/ca4jYW6HJ5k?feature=player_embedded" width="320">&lt;/iframe>&lt;/div>&lt;br />
Вероятно потому, что сервопривод не навсегда удерживает свое положение, импульсы позиционирования должны повторяться, информируя сервопривод о сохранении положения. Если отправить pwm 4096, то серв замирает. Поэтому после отправки команды на любое действие, следом тут же следует отправлять 4096. В Меню Domoticz'a "Действия переключателя" не возможно отправить несколько команд следом и мне пришлось набросать по одному простенькому скрипту на каждое действие следующего содержания:&lt;br />
&lt;pre>&lt;code class="bash hljs">#!/bin/bash
# Control your KIV-125 over weemos d1 with ip 10.0.0.205.
# Current script - send OPEN command to kiv and poweroff
curl -i --silent http://10.0.0.205/cm?cmnd=driver15%20pwm,7,320
sleep 0.5
curl -i --silent http://10.0.0.205/cm?cmnd=driver15%20pwm,7,4096&lt;/code>&lt;/pre>Скачать три скрипта можно &lt;a href="https://www.dropbox.com/s/9m4ejkx0p4g481j/kiv-commander.7z?dl=0" target="_blank">тут&lt;/a>. ИМЕЙТЕ ввиду, что значение PWM для каждого уникально (зависит от того, в каком положении зафиксирован SG90 и шестерня клапана КИВа). Да, и IP адрес wemos-сервера тоже.&lt;br />
Кладём все в папку domoticz/scripts и делаем их исполняемыми &lt;br />
&lt;pre>&lt;code class="bash hljs">chmod +x kiv-*.sh&lt;/code>&lt;/pre>&lt;/div>&lt;div style="text-align: justify;">Демонстрация корректной работы&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;iframe allowfullscreen="" class="YOUTUBE-iframe-video" data-thumbnail-src="https://i.ytimg.com/vi/iJTlAYwr-Uk/0.jpg" frameborder="0" height="266" src="https://www.youtube.com/embed/iJTlAYwr-Uk?feature=player_embedded" width="320">&lt;/iframe>&lt;/div>&lt;br />
Взял в руки клеевой пистолет, монтажную коробку, 4 монтажных разъема &lt;a href="http://ali.pub/3zppjr" target="_blank">RJ45&lt;/a> и собрал наконец wemos-сервер с PCA9685 в одну коробку. Замудохался припаивать по 3 проводульки к RJ45, но зато теперь можно быстро подключить\отключить КИВ. Ничего не выпадает. Остальные 5 проводов можно использовать под &lt;a href="http://ali.pub/3zppx6" target="_blank">датчики&lt;/a> температуры\влажности, если их примастить у КИВа, или рядом с ним. Мне показалось это излишним, но возможность я эту оставил.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/IMG_20191008_204646.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1200" data-original-width="1600" height="480" src="https://magapov.nmph.ru/img/IMG_20191008_204646.jpg" width="640" />&lt;/a>&lt;/div>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/IMG_20191008_214242.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1600" data-original-width="1200" height="640" src="https://magapov.nmph.ru/img/IMG_20191008_214242.jpg" width="480" />&lt;/a>&lt;/div>&lt;br />
&lt;/div>&lt;/div></description></item><item><title>Domoticz. Правильные иконки для APC Smart-UPS 750</title><link>https://magapov.nmph.ru/2018/11/domoticz-apc-smart-ups-750.html</link><pubDate>Thu, 15 Nov 2018 12:39:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/11/domoticz-apc-smart-ups-750.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
После настройки &lt;a href="https://magapov.nmph.ru/2018/11/domoticz_8.html" target="_blank">мониторинга&lt;/a> бесперебойника, мне не хватало нормальной визуализации этого устройства в Domoticz. Запилил по этому случаю &lt;a href="https://www.dropbox.com/s/54w9ukqpijjlx35/APC750_1.zip?dl=0" target="_blank">набор&lt;/a> иконок для APC Smart-UPS 750.&lt;br />
&lt;br />
Добавляем иконки через &lt;b>&lt;span style="font-family: Courier New, Courier, monospace;">Настройка&amp;gt;Дополнительно&amp;gt;Пользовательские иконки&lt;/span>&lt;/b>&lt;br />
&amp;nbsp;Указываем путь к скачанному архиву и жмём Загрузить.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/Domoticz750icon.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="586" data-original-width="739" height="315" src="https://magapov.nmph.ru/img/Domoticz750icon.JPG" width="400" />&lt;/a>&lt;/div>
Затем на вкладке &lt;b>&lt;span style="font-family: Courier New, Courier, monospace;">Переключатели&lt;/span>&lt;/b>, жмём &lt;b>&lt;span style="font-family: Courier New, Courier, monospace;">Редактировать&lt;/span>&lt;/b> на устройстве APC и выбираем правильную иконку.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/Domoticz750settings.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="591" data-original-width="701" height="336" src="https://magapov.nmph.ru/img/Domoticz750settings.JPG" width="400" />&lt;/a>&lt;/div>
В итоге получаем оригинальный вид устройства!&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/Domoticz750-D0-BA-D0-BE-D0-BB-D0-BB-D0-B0-D0-B6.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1280" data-original-width="1600" height="320" src="https://magapov.nmph.ru/img/Domoticz750-D0-BA-D0-BE-D0-BB-D0-BB-D0-B0-D0-B6.JPG" width="400" />&lt;/a>&lt;/div>
&lt;/div></description></item><item><title>Domoticz. Мониторинг ИБП</title><link>https://magapov.nmph.ru/2018/11/domoticz_8.html</link><pubDate>Thu, 08 Nov 2018 09:19:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/11/domoticz_8.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div dir="ltr" style="text-align: left;" trbidi="on">
Добавим в Domoticz мониторинг состояния ИБП через bash-скрипт. Для работы скрипта необходима утилита apcupsd. Необходимые данные (состояние батареи, текущая нагрузка, напряжение, температура внутри корпуса) скрипт парсит с вывода apcaccess status.&lt;br />
&lt;pre>&lt;code class="bash hljs">john@vaio:~$ apcaccess status
APC : 001,045,1159
DATE : 2018-11-05 22:06:53 +0300
HOSTNAME : vaio
VERSION : 3.14.10 (13 September 2011) debian
UPSNAME : APC750
CABLE : USB Cable
DRIVER : USB UPS Driver
UPSMODE : Stand Alone
STARTTIME: 2018-10-29 19:14:36 +0300
MODEL : Smart-UPS 750
STATUS : ONLINE
LINEV : 218.8 Volts
LOADPCT : 31.8 Percent Load Capacity
BCHARGE : 100.0 Percent
TIMELEFT : 37.0 Minutes
MBATTCHG : 5 Percent
MINTIMEL : 3 Minutes
MAXTIME : 0 Seconds
OUTPUTV : 218.8 Volts
SENSE : Medium
DWAKE : -01 Seconds
DSHUTD : 270 Seconds
LOTRANS : 196.0 Volts
HITRANS : 253.0 Volts
RETPCT : 000.0 Percent
ITEMP : 42.3 C Internal
ALARMDEL : No alarm
BATTV : 27.0 Volts
LINEFREQ : 50.0 Hz
LASTXFER : Automatic or explicit self test
NUMXFERS : 1
XONBATT : 2018-11-03 07:54:27 +0300
TONBATT : 0 seconds
CUMONBATT: 11 seconds
XOFFBATT : 2018-11-03 07:54:38 +0300
LASTSTEST: 2018-11-03 07:54:27 +0300
SELFTEST : NO
STESTI : 14 days
STATFLAG : 0x07000008 Status Flag
MANDATE : 2006-11-05
SERIALNO : AS0645222525
BATTDATE : 2018-09-07
NOMOUTV : 220 Volts
NOMBATTV : 24.0 Volts
FIRMWARE : 651.13.I USB FW:7.3
END APC : 2018-11-05 22:06:54 +0300&lt;/code>&lt;/pre>
Будем считать, что apcupsd установлен, и связь с ИБП настроена. Осталось только создать необходимые датчики и добавить скрипт в crontab.&lt;br />
&lt;br />
Сам скрипт &lt;br />
&lt;pre>&lt;code class="bash hljs">#!/bin/bash
#Script to grab APC status and update domoticz vars

SERVER='localhost:505/'
SERVER_CMD='json.htm?type=command&amp;amp;param=udevice&amp;amp;'
SWITCH_CMD='json.htm?type=command&amp;amp;param=switchlight&amp;amp;'
cap_data=`apcaccess status`

#apc_total = "apcaccess status"
#echo "$cap_data"

apc_stat=`awk '/STATUS / {print $3}' &amp;lt;&amp;lt;&amp;lt; "$cap_data"` 
apc_volts=`awk '/LINEV / {print $3}' &amp;lt;&amp;lt;&amp;lt; "$cap_data"` 
apc_itemp=`awk '/ITEMP / {print $3}' &amp;lt;&amp;lt;&amp;lt; "$cap_data"` 
apc_load=`awk '/LOADPCT / {print $3}' &amp;lt;&amp;lt;&amp;lt; "$cap_data"` 
apc_bcharge=`awk '/BCHARGE / {print $3}' &amp;lt;&amp;lt;&amp;lt; "$cap_data"` 
echo $apc_stat 
echo $apc_volts 
echo $apc_itemp 
echo $apc_load 
echo $apc_bcharge 
hostcmd="http://${SERVER}${SERVER_CMD}idx=36&amp;amp;nvalue=0&amp;amp;svalue=${apc_itemp}"
curlres=`curl -sS $hostcmd`
hostcmd="http://${SERVER}${SERVER_CMD}idx=35&amp;amp;nvalue=0&amp;amp;svalue=${apc_volts}"
curlres=`curl -sS $hostcmd`
hostcmd="http://${SERVER}${SERVER_CMD}idx=37&amp;amp;nvalue=0&amp;amp;svalue=${apc_load}"
curlres=`curl -sS $hostcmd`
hostcmd="http://${SERVER}${SERVER_CMD}idx=38&amp;amp;nvalue=0&amp;amp;svalue=${apc_bcharge}"
curlres=`curl -sS $hostcmd` 
if [ "$apc_stat" = "ONLINE" ]; then 
#echo "APC SYSTEM IS ONLINE" 
hostcmd="http://${SERVER}${SWITCH_CMD}idx=39&amp;amp;switchcmd=On&amp;amp;level=0" 
curlres=`curl -sS $hostcmd` 

else #echo "APC SYSTEM IS OFFLINE" 
hostcmd="http://${SERVER}${SWITCH_CMD}idx=39&amp;amp;switchcmd=Off&amp;amp;level=0" 
curlres=`curl -sS $hostcmd` 
fi&lt;/code>&lt;/pre>
&lt;/div>
От нас требуется заполнить строку SERVER и idx для stat, volts, itemp, load, bcharge. Сохраняем в любой директории apc.sh&lt;/div>
&lt;br />
Сделаем скрипт исполняемым и добавим в crontab, с запуском раз в минуту.&lt;br />
&lt;pre>&lt;code class="bash hljs">chmod +x apc.sh&lt;/code>&lt;/pre>
&lt;pre>&lt;code class="bash hljs">crontab -e
# email to the user the crontab file belongs to (unless redirected).
#
# For example, you can run a backup of all your user accounts
# at 5 a.m every week with:
# 0 5 * * 1 tar -zcf /var/backups/home.tgz /home/
#
# For more information see the manual pages of crontab(5) and cron(8)
#
# m h dom mon dow command
* * * * * /home/john/apc.sh&lt;/code>&lt;/pre>
&lt;br />
&lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Стоит обратить внимание&lt;/span>&lt;/b>, что для корректной работы apcaccess от пользователя, в crontab, можно в самом верху, следует добавить пару строчек с переменными окружения&lt;br />
&lt;pre>&lt;code class="bash hljs">SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin&lt;/code>&lt;/pre>
Иначе скрипт будет отрабатывать по crontab без результата!&lt;br />
&lt;br />
Теперь, когда со скриптами разобрались, переходим в Domoticz. Будем создавать датчики. &lt;br />
Традиционно - &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Настройка &amp;gt; Оборудование&lt;/span>&lt;/b>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/APC-750-devices.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="317" data-original-width="1473" height="136" src="https://magapov.nmph.ru/img/APC-750-devices.JPG" width="640" />&lt;/a>&lt;/div>
Нажимаем &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Создать виртуальные датчики&lt;/span>&lt;/b>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/APC-750.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1280" data-original-width="1600" height="512" src="https://magapov.nmph.ru/img/APC-750.jpg" width="640" />&lt;/a>&lt;/div>
Переходим в Настройка &amp;gt; Устройства переписываем idx каждого apc устройства, и заполняем их в скрипт напротив соответствующих переменных.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/APC-1-All.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="174" data-original-width="1600" height="68" src="https://magapov.nmph.ru/img/APC-1-All.JPG" width="640" />&lt;/a>&lt;/div>
Так выглядят готовые настроенные датчики&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/APC-1-All-ready.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="249" data-original-width="1342" height="118" src="https://magapov.nmph.ru/img/APC-1-All-ready.JPG" width="640" />&lt;/a>&lt;/div>
А так, график пропадания электричества за год&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/APC-1-VoltageJPG.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="377" data-original-width="1332" height="180" src="https://magapov.nmph.ru/img/APC-1-VoltageJPG.JPG" width="640" />&lt;/a>&lt;/div>
&lt;br />
Когда подойдёт время менять батареи, читайте как это сделать &lt;a href="https://magapov.nmph.ru/2018/09/smart-ups-750.html" target="_blank">далее&lt;/a>.&lt;br />
Как запилить красивые &lt;a href="https://magapov.nmph.ru/2018/11/domoticz-apc-smart-ups-750.html" target="_blank">иконки&lt;/a> для APC Smart-UPS 750&lt;/div></description></item><item><title>Sonoff 4CH. Установка прошивки Tasmota при помощи PlatformIO</title><link>https://magapov.nmph.ru/2018/11/sonoff-4ch-tasmota-platformio.html</link><pubDate>Tue, 06 Nov 2018 12:21:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/11/sonoff-4ch-tasmota-platformio.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div style="text-align: justify;">
Пришёл наконец &lt;a href="http://ali.pub/2v91fr" target="_blank">Sonoff 4CH&lt;/a> для управления фасадными силовыми розетками. Взял не R2, так как эта версия дешевле в 1,5 раза. Для не частных включений уличной гирлянды, мойки&amp;nbsp; и подогрева двигателя по расписанию сгодится.&amp;nbsp;&lt;/div>
&lt;div style="text-align: justify;">
Установка полностью идентична &lt;a href="https://magapov.nmph.ru/2018/09/sonoff-4ch-r2-tasmota-platformio.html">Sonoff 4CH R2&lt;/a>. &amp;nbsp;В отличие от Sonoff 4CH R2, гребенка для подключения USBtoTTL уже распаяна, можно подключаться без паяльника.&amp;nbsp;&lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Только вот обратите внимание, что на плате перепутаны TX - RX (!).&lt;/span>&lt;/b>&lt;br />
&lt;a href="https://magapov.nmph.ru/2020/01/visual-studio-code-tasmota.html">Тут&lt;/a>&amp;nbsp;можно почитать, как просто установить и подготовить для сборки прошивки Visual Studio Code.&lt;/div>
&lt;div style="text-align: justify;">
Качаем &lt;a href="https://github.com/arendst/Sonoff-Tasmota/releases">Source Code.zip&lt;/a>&amp;nbsp;последней версии. Распаковываем в любую директорию. Запускаем Visual Studio Code, открываем директорию с распакованным архивом и переходим к редактированию файлов конфигурации &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">platformio.ini&lt;/span>&lt;/b> в корне директории.&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/install-firmware-1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="247" data-original-width="1097" height="142" src="https://magapov.nmph.ru/img/install-firmware-1.JPG" width="640" />&lt;/a>&lt;/div>
Меняем upload_port на тот, что у нас определился в диспетчере устройств&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/com-port3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="54" data-original-width="398" height="43" src="https://magapov.nmph.ru/img/com-port3.JPG" width="320" />&lt;/a>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: justify;">
Начиная с версии Sonoff-Tasmota 6.3, пользовательские настройки подключения к беспроводной сети, сервера MQTT, временной зоны и прочего - находятся в файле &lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-weight: bold;">my_user_config.h &lt;/span>&lt;span style="font-family: inherit;">До этого, настройки были в user_config.h. Не теряйтесь.&lt;/span>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: left;">
Сперва-наперво меняем параметр &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">#define module&lt;/span>&lt;/b> на &lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">&lt;b>SONOFF_4CH&lt;/b>&lt;/span>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/my_user_config.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1029" data-original-width="990" height="320" src="https://magapov.nmph.ru/img/my_user_config.JPG" width="307" />&lt;/a>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: left;">
Затем пробегаемся по секциям WiFi, MQTT и прочим необходимым параметрам.&lt;/div>
&lt;div class="separator" style="clear: both; text-align: left;">
&lt;br />&lt;/div>
&lt;div class="separator" style="clear: both; text-align: left;">
Выставляем настройки платформы для компиляции в правом углу окна Visual Studio Code&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/pio3-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="79" data-original-width="1090" height="46" src="https://magapov.nmph.ru/img/pio3-2.jpg" width="640" />&lt;/a>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: left;">
Приводим всё к виду, как на скриншоте&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/pio4-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="941" data-original-width="712" height="640" src="https://magapov.nmph.ru/img/pio4-2.jpg" width="483" />&lt;/a>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: left;">
Далее жмём Build и Upload в левом нижнем углу.&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/pio5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="169" data-original-width="405" height="133" src="https://magapov.nmph.ru/img/pio5.jpg" width="320" />&lt;/a>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: justify;">
Не забываем перевести плату в режим программирования!&lt;/div>
&lt;div style="text-align: justify;">
&lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Для загрузки в режиме программирования отключаемся от USB-порта, зажимаем кнопку L1 (IO0 на плате) и подключаем снова к USB. Отпускать кнопку через 2-3 секунды.&lt;/span>&lt;/b>&lt;/div>
&lt;br />
&lt;a href="https://magapov.nmph.ru/2018/12/sonoff-4ch-dht21-am2301.html" target="_blank">Sonoff 4CH. Подключение датчика температуры и влажности DHT21 (AM2301)&lt;/a>&lt;/div></description></item><item><title>Domoticz. Сценарии управления фасадом</title><link>https://magapov.nmph.ru/2018/11/domoticz.html</link><pubDate>Sun, 04 Nov 2018 16:31:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/11/domoticz.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div style="text-align: justify;">
Когда за окном солнце уже зашло, ты подъезжаешь к дому, неплохо бы включить фасадное освещение. И, чтобы не лезть в телефон чтобы все это добро выключить, автоматически выключать освещение когда уезжаешь. Тут потребуется добавить 2 сцены.&lt;/div>
Жмём&amp;nbsp;&lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Сцены&amp;gt;Добавить сцену&lt;/span>&lt;/b>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-add-scenes.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="343" data-original-width="1056" height="206" src="https://magapov.nmph.ru/img/domoticz-add-scenes.JPG" width="640" />&lt;/a>&lt;/div>
&lt;div style="text-align: justify;">
В сцене&amp;nbsp;&lt;b>Покинул дом&lt;/b>&amp;nbsp;добавляем все осветительные приборы и выключаем их (я поставил с задержкой в 10 секунд, чтобы отъезжая, проконтролировать отключение).&amp;nbsp;&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-scene-exit.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="584" data-original-width="1483" height="252" src="https://magapov.nmph.ru/img/domoticz-scene-exit.JPG" width="640" />&lt;/a>&lt;/div>
В сцене Приехал домой, добавил только фасадное освещение&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-scene-enter.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="780" data-original-width="1483" height="336" src="https://magapov.nmph.ru/img/domoticz-scene-enter.JPG" width="640" />&lt;/a>&lt;/div>
Теперь перейдем к срипту. Все наглядно делается&amp;nbsp;&lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Настройка&amp;gt;Дополнительно&amp;gt;События&lt;/span>&lt;/b>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-script-phone-geo.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="232" data-original-width="1008" height="146" src="https://magapov.nmph.ru/img/domoticz-script-phone-geo.JPG" width="640" />&lt;/a>&lt;/div>
&lt;div style="text-align: justify;">
WiFi заканчивается в 2-3 метрах от стен дома (простенький роутер &lt;a href="http://ali.pub/2uzqav" target="_blank">Nexx WT3020&lt;/a>). Когда отходишь от дома на пару минут, фасадный свет гаснет. Выглядит это примерно так&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-out-in.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="586" data-original-width="1481" height="252" src="https://magapov.nmph.ru/img/domoticz-out-in.JPG" width="640" />&lt;/a>&lt;/div>
&lt;div style="text-align: justify;">
Надо что-то придумать, чтобы отлавливать такие краткосрочные отключения. С другой стороны, баг сам пропадет, когда поставлю нормальный роутер.&lt;/div>
&lt;/div>
&lt;iframe frameborder="0" height="90" id="phrkmcqmq3yqgcy2qxwafaperay3t0k4" name="phrkmcqmq3yqgcy2qxwafaperay3t0k4" scrolling="no" src="https://alipromo.com/rotator/banner/phrkmcqmq3yqgcy2qxwafaperay3t0k4/" width="728">&lt;br />
&lt;/iframe>&lt;/div></description></item><item><title>Domoticz. Мониторинг сетевых устройств при помощи perl скрипта</title><link>https://magapov.nmph.ru/2018/11/domoticz-perl.html</link><pubDate>Thu, 01 Nov 2018 14:20:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/11/domoticz-perl.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
Добавим в систему запуск &lt;a href="https://www.domoticz.com/wiki/Domoticz_Pings_any_IP_in_LAN,_and_switching_a_device,_using_Perl" target="_blank">perl-скрипта&lt;/a>, который будет запускаться 3 раза в минуту по crontab и проверять online\offline состояние устройства.&lt;br />
&lt;br />
Для, для корректной работы, требуются статичные IP-адреса для опрашиваемых устройств. Ну, или прописанные в роутере имена для них.&lt;br />
&lt;br />
Переходим в &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Настройка&amp;gt;Оборудование&lt;/span>&lt;/b> и добавляем новое устройство &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Dummy&lt;/span>&lt;/b>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/add-dummy-device.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="321" data-original-width="1479" height="138" src="https://magapov.nmph.ru/img/add-dummy-device.JPG" width="640" />&lt;/a>&lt;/div>
Затем создаём виртуальный датчик с типом &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Переключатель&lt;/span>&lt;/b>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/add-dummy-redmi3s.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="498" data-original-width="1484" height="214" src="https://magapov.nmph.ru/img/add-dummy-redmi3s.JPG" width="640" />&lt;/a>&lt;/div>
Переходим во вкладку Настройка&amp;gt;Устройства и запоминаем idx нового переключателя (30)&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/redmi3s-idx.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="151" data-original-width="1600" height="60" src="https://magapov.nmph.ru/img/redmi3s-idx.JPG" width="640" />&lt;/a>&lt;/div>
&lt;br />
Теперь подготовим сервер для работы с perl-скриптами &lt;br />
&lt;pre>&lt;code class="bash hljs">sudo apt-get install libjson-perl libdatetime-perl libwww-perl&lt;/code>&lt;/pre>
Создаём скрипт в ping-phones.pl в /home/pi/domoticz/scripts/&lt;br />
&lt;pre>&lt;code class="bash hljs">nano /home/pi/domoticz/scripts/ping-phones.pl&lt;/code>&lt;/pre>
И добавляем туда следующее содержимое&lt;br />
&lt;pre>&lt;code class="bash hljs">#!/usr/bin/perl
 use v5.14;
 use LWP::Simple; # From CPAN
 use JSON qw( decode_json ); # From CPAN
 use Data::Dumper; # Perl core module
 use strict; # Good practice
 use warnings; # Good practice
 use utf8;
 use feature qw&amp;lt; unicode_strings &amp;gt;;
 # Configuration section, please update to your values
 my $domoticz = "127.0.0.1:8080"; # ip and port of your Domoticz server 
 my $domo_cmd = "http://$domoticz/json.htm?type=devices&amp;amp;filter=all&amp;amp;used=true&amp;amp;order=Name";
 
 # Array of (device idx, IP)
 my %IP=(30=&amp;gt;'10.0.0.40', # redmi3s
 31=&amp;gt;'10.0.0.41', # redmi4a
 32=&amp;gt;'10.0.0.42'); # asusz00sd
 my $debug=0;
 # Get the JSON url
 my $json = get( $domo_cmd );
 die "Could not get $domo_cmd!" unless defined $json;
 # Decode the entire JSON
 my $decoded = JSON-&amp;gt;new-&amp;gt;utf8(0)-&amp;gt;decode( $json );
 my @results = @{ $decoded-&amp;gt;{'result'} };
 #Put JSON switch and status in a Table
 my @tab;
 foreach my $f ( @results ) {
 if ($f-&amp;gt;{"SwitchType"}) {
 $tab[$f-&amp;gt;{"idx"}]=$f-&amp;gt;{"Status"};
 }
 }
 # Now we go all over the IP to check if they are alive
 foreach my $k (keys %IP) {
 my $ip=$IP{$k};
 my $res=system("sudo ping $ip -w 3 2&amp;gt;&amp;amp;1 &amp;gt; /dev/null");
 #print $k." ".$res."\n";
 if (($res==0)&amp;amp;&amp;amp;($tab[$k] eq 'Off')) {
 #If device answered to ping and device status is Off, turn it On in Domoticz
 if ($debug) {print "$k is On\n"};
 `curl -s "http://$domoticz/json.htm?type=command&amp;amp;param=switchlight&amp;amp;idx=$k&amp;amp;switchcmd=On"`;
 } elsif (($res!=0)&amp;amp;&amp;amp;($tab[$k] eq 'On')) {
 #If device did NOT answer to ping and device status is On, turn it Off in Domoticz
 if ($debug) {print "$k is Off\n"};
 `curl -s "http://$domoticz/json.htm?type=command&amp;amp;param=switchlight&amp;amp;idx=$k&amp;amp;switchcmd=Off"`;
 } else {
 if ($debug) {print "do nothing: $k is ".$tab[$k]."\n";}
 }
 }&lt;/code>&lt;/pre>
Заполняем Configuration section, а именно настройки подключения к серверу и idx и IP-адреса устройств.&lt;br />
&lt;br />
Не забываем сделать скрипт исполняемым&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo chmod +x /home/pi/domoticz/scripts/ping-phones.pl&lt;/code>&lt;/pre>
Осталось добавить в crontab задание на запуск скрипта каждую минуту&lt;br />
&lt;pre>&lt;code class="bash hljs">crontab -e 
*/1 * * * * /home/pi/domoticz/scripts/ping-phones.pl 2&amp;gt;&amp;amp;1 &amp;gt;&amp;gt; /dev/null&lt;/code>&lt;/pre>
Выполнение скрипта, для проверки 3 устройств занимает 5-7 секунд. Поэтому для каждого типа устройств (камеры, мобильные телефоны, рабочие станции) я создал по отдельному скрипту, и прописал запуск в crontab с различными интервалами. &lt;br />
&lt;br />
&lt;a href="https://magapov.nmph.ru/2018/11/domoticz.html" style="text-align: justify;" target="_blank">Пример&lt;/a>&lt;span style="text-align: justify;">&amp;nbsp;использования отслеживания сетевых устройств для управления фасадным освещением.&lt;/span>&lt;br />
&lt;span style="text-align: justify;">&lt;br />&lt;/span>
&lt;span style="text-align: justify;">&lt;b>ВНИМАНИЕ!!!&lt;/b> В скрипте не прописаны логин\пароль для авторизации на сервере Domoticz. Поэтому, в случае, если вы обезопасились, и настроили авторизацию в вебморду через логин и пароль, скрипт может благополучно не работать!&lt;/span>&lt;br />
&lt;span style="text-align: justify;">Прописываем в настройках Domoticz "Локальные сети (без имени\пароля) и радуемся. Ну или курим &lt;a href="https://www.domoticz.com/wiki/Domoticz_API/JSON_URL%27s" target="_blank">API&lt;/a>. Кто выкурит, напишите в комментах, добавлю в скрипт.&lt;/span>&lt;/div></description></item><item><title>Domoticz. Мониторинг сетевых устройств</title><link>https://magapov.nmph.ru/2018/10/domoticz_30.html</link><pubDate>Tue, 30 Oct 2018 19:01:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/10/domoticz_30.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div style="text-align: justify;">
Для некоторых сценариев, требуется проверка на присутствие в доме человека. Самый простой способ (для меня) - присутствие в сети моего мобильного телефона. Wi-Fi на телефоне включен постоянно, а также установлена галка на автоматическое подключение к моей Wi-FI-точке. Поэтому как только я подъезжаю к дому, пока выхожу из машины, устройство уже опознано роутером. Надо ещё настроить DHCP-сервер роутера, на выдачу постоянного IP-адреса устройствам. Привязать IP к MAC-адресу устройства.&lt;/div>
&lt;div style="text-align: justify;">
Напоминаю, что это самый примитивный способ узнать присутствие в доме человека. Желательно конечно привязать к этому еще показания с датчиков открытия\закрытия двери, или срабатывание датчика движения на входе для точности. Кому как угодно.&lt;/div>
&lt;div style="text-align: justify;">
&lt;br />&lt;/div>
&lt;div style="text-align: justify;">
Как назначить каждому свой IP-адрес, можно почитать &lt;a href="https://magapov.nmph.ru/2018/10/padavan-ip.html" target="_blank">тут&lt;/a>.&amp;nbsp;&lt;/div>
&lt;div style="text-align: justify;">
&lt;br />&lt;/div>
&lt;div style="text-align: justify;">
Встроенный функционал Domoticz &lt;a href="https://www.domoticz.com/wiki/System_Alive_Checker_(Ping)" target="_blank">позволяет&lt;/a>&amp;nbsp;проверять по IP-адресу какое устройство Online. Подобные функции может выполнять &lt;a href="https://www.domoticz.com/wiki/Domoticz_Pings_any_IP_in_LAN,_and_switching_a_device,_using_Perl" target="_blank">скрипт&lt;/a>&amp;nbsp;на Perl. Мне больше по душе стоковые настройки, так проще вспомнить как добавлять\удалять устройства для мониторинга.&amp;nbsp;&lt;/div>
&lt;br />
Переходим в &lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">&lt;b>Настройка&amp;gt;Оборудование&lt;/b>&lt;/span>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-phones-online.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="818" data-original-width="1469" height="356" src="https://magapov.nmph.ru/img/domoticz-phones-online.JPG" width="640" />&lt;/a>&lt;/div>
Ищем в Тип устройства: &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">System Alive Checker (Ping)&lt;/span>&lt;/b>&lt;br />
&lt;span style="font-family: inherit;">Добавляем имя (к примеру): &lt;/span>&lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">phones-online&lt;/span>&lt;/b>&lt;span style="font-family: inherit;">. Жмём Добавить и далее переходим в &lt;/span>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace; font-weight: bold;">Настройка &lt;/span>&lt;span style="font-family: inherit;">на этом устройстве.&lt;/span>&lt;br />
&lt;span style="font-family: inherit;">&lt;br />
&lt;/span> &lt;span style="font-family: inherit;">Тут всё просто, добавляем все IP-адреса телефонов, которые будем отслеживать.&lt;/span>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-phones-online-add.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="801" data-original-width="1480" height="346" src="https://magapov.nmph.ru/img/domoticz-phones-online-add.JPG" width="640" />&lt;/a>&lt;/div>
&lt;span style="font-family: inherit;">&amp;nbsp;Переходим в &lt;/span>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">&lt;b>Настройка&amp;gt;Устройства&lt;/b>&lt;/span>&lt;span style="font-family: inherit;"> и видим новые переключатели&lt;/span>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-phones-online-show.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="279" data-original-width="1600" height="110" src="https://magapov.nmph.ru/img/domoticz-phones-online-show.JPG" width="640" />&lt;/a>&lt;/div>
&lt;div style="text-align: justify;">
&lt;br />
В этом способе прекрасно всё. Но у меня он не заработал как надо. На скрине видно, что когда устройство оффлайн, с промежутком в 5 минут, оно меняет своё состояние на On. И почти 30 секунд светится как онлайн.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-phones-online-ping.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="802" data-original-width="1475" height="345" src="https://magapov.nmph.ru/img/domoticz-phones-online-ping.JPG" width="640" />&lt;/a>&lt;/div>
Поэтому пришлось переделать всё на &lt;a href="https://magapov.nmph.ru/2018/11/domoticz-perl.html" target="_blank">скрипт&lt;/a>.&lt;br />
&lt;a href="https://magapov.nmph.ru/2018/11/domoticz.html" target="_blank">Пример&lt;/a> использования отслеживания сетевых устройств для управления фасадным освещением.&lt;/div>
&lt;/div></description></item><item><title>Domoticz. Управление котлом</title><link>https://magapov.nmph.ru/2018/10/domoticz.html</link><pubDate>Sat, 20 Oct 2018 13:43:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/10/domoticz.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
&lt;div style="text-align: justify;">
Довольно простая схема удаленного управления электрокотлом через Sonoff Basic и промежуточное реле. Очень удобно, когда двухтарифный счетчик, включать по расписанию с 23:00 и до 7:00. Или, например, когда собираешься наведаться, включить заранее, чтобы было тепло дома.&lt;/div>
&lt;div style="text-align: justify;">
Можно обойтись и без промежуточного реле, слегка поработав напильником с sonoff, и превратив его в реле с "сухим" контактом.&amp;nbsp;&lt;/div>
&lt;div style="text-align: justify;">
Итак, что имеем. Электрический котёл 14Квт Protherm "Дельфин" (он же "Скат"). Промежуточное реле&amp;nbsp;&lt;a href="https://www.etm.ru/cat/nn/7908771/" target="_blank">PK-1P 220&lt;/a>, и конечно Sonoff Basic.&lt;br />
Схема подключения:&lt;/div>
&lt;span style="text-align: justify;">Подключаем к розетке\автомату sonoff, от него запитываем промежуточное реле. Снимаем перемычку с разъема HDO (см. &lt;/span>&lt;a href="https://www.dropbox.com/s/yaic3rkzeczrxcz/protherm.pdf?dl=0" style="text-align: justify;" target="_blank">инструкцию&lt;/a>&lt;span style="text-align: justify;">) и подключаем в него два провода с 11 и 12 контактов промежуточного реле.&amp;nbsp; ВНИМАНИЕ! Не надо напрямую подключать 220В в HDO!&lt;/span>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D1-81-D1-85-D0-B5-D0-BC-D0-B0-D0-BA-D0-BE-D1-82-D0-BB-D0-B0.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="895" data-original-width="1297" height="275" src="https://magapov.nmph.ru/img/D1-81-D1-85-D0-B5-D0-BC-D0-B0-D0-BA-D0-BE-D1-82-D0-BB-D0-B0.JPG" width="400" />&lt;/a>&lt;/div>
&lt;span style="text-align: justify;">&lt;br />&lt;/span>
&lt;br />
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;">&lt;tbody>
&lt;tr>&lt;td style="text-align: center;">&lt;a href="https://magapov.nmph.ru/img/IMG_20181019_184207_cut.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;">&lt;img border="0" data-original-height="1600" data-original-width="1278" height="400" src="https://magapov.nmph.ru/img/IMG_20181019_184207_cut.jpg" width="318" />&lt;/a>&lt;/td>&lt;/tr>
&lt;tr>&lt;td class="tr-caption" style="text-align: center;">Индикатор работы реле&lt;/td>&lt;/tr>
&lt;/tbody>&lt;/table>
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;">&lt;tbody>
&lt;tr>&lt;td style="text-align: center;">&lt;a href="https://magapov.nmph.ru/img/IMG_20181019_190648_cut.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;">&lt;img border="0" data-original-height="1284" data-original-width="1600" height="256" src="https://magapov.nmph.ru/img/IMG_20181019_190648_cut.jpg" width="320" />&lt;/a>&lt;/td>&lt;/tr>
&lt;tr>&lt;td class="tr-caption" style="text-align: center;">Когда реле разомкнуто, работает только панель управления котлом. Сейчас показывает текущую температуру теплоносителя&lt;/td>&lt;/tr>
&lt;/tbody>&lt;/table>
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;">&lt;tbody>
&lt;tr>&lt;td style="text-align: center;">&lt;a href="https://magapov.nmph.ru/img/IMG_20181019_184212_cut.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;">&lt;img border="0" data-original-height="1600" data-original-width="1280" height="320" src="https://magapov.nmph.ru/img/IMG_20181019_184212_cut.jpg" width="256" />&lt;/a>&lt;/td>&lt;/tr>
&lt;tr>&lt;td class="tr-caption" style="text-align: center;">Включать котел можно и кнопкой в Sonoff'а&lt;/td>&lt;/tr>
&lt;/tbody>&lt;/table>
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;">&lt;tbody>
&lt;tr>&lt;td style="text-align: center;">&lt;img border="0" data-original-height="1600" data-original-width="900" height="400" src="https://magapov.nmph.ru/img/IMG_20181019_184152.jpg" style="margin-left: auto; margin-right: auto;" width="225" />&lt;/td>&lt;/tr>
&lt;tr>&lt;td class="tr-caption" style="text-align: center;">Реле замкнуто - пошёл подогрев!&lt;/td>&lt;/tr>
&lt;/tbody>&lt;/table>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/IMG_20181019_184152.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;/a>&lt;br />&lt;/div>
&lt;span style="text-align: justify;">Осталось добавить это дело в Domoticz и прописать сценарий для управления по расписанию.&lt;/span>&lt;a href="https://magapov.nmph.ru/img/IMG_20181019_184152.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;/a>&lt;br />
&lt;div style="text-align: justify;">
Заходим в &lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">&lt;b>Настройки&amp;gt;Оборудование&lt;/b>&lt;/span>. Создаем Dummy&amp;nbsp;&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-add-1.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="864" data-original-width="1491" height="370" src="https://magapov.nmph.ru/img/domoticz-add-1.JPG" width="640" />&lt;/a>&lt;/div>
&lt;div style="text-align: justify;">
Дальше жмём &lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">&lt;b>Создать виртуальные датчики&lt;/b>&lt;/span>. Прописываем имя и тип датчика - &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Переключатель&lt;/span>&lt;/b>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-add-2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="342" data-original-width="571" height="191" src="https://magapov.nmph.ru/img/domoticz-add-2.JPG" width="320" />&lt;/a>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: justify;">
Далее переходим в &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Настройка&amp;gt;Устройства&lt;/span>&lt;/b>. Находим по имени новый переключатель, записываем его&lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;"> idx&amp;nbsp;&lt;/span>&lt;/b>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-add-3.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="106" data-original-width="1600" height="42" src="https://magapov.nmph.ru/img/domoticz-add-3.JPG" width="640" />&lt;/a>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: justify;">
Через веб-морду управления Sonoff Basic, заходим в настройки Domoticz и прописываем записанный key idx переключателя.&lt;/div>
&lt;div class="separator" style="clear: both; text-align: justify;">
&lt;br />&lt;/div>
&lt;div class="separator" style="clear: both; text-align: justify;">
Накидал самый простой сценарий, чтобы котёл включИлся в&amp;nbsp; 23:00&lt;/div>
&lt;div class="separator" style="clear: both; text-align: justify;">
&lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Настройка&amp;gt;Дополнительно&amp;gt;События&lt;/span>&lt;/b>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-protherm-on.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="160" data-original-width="479" height="132" src="https://magapov.nmph.ru/img/domoticz-protherm-on.JPG" width="400" />&lt;/a>&lt;/div>
В придачу, выкладываю комплект иконок для котла в Domoticz. Скачать можно &lt;a href="https://www.dropbox.com/s/c0b3ip2hfj39w4n/Protherm%20Skat_2.zip?dl=0" target="_blank">тут&lt;/a> и как &lt;a href="https://magapov.nmph.ru/2018/11/domoticz-apc-smart-ups-750.html" target="_blank">поставить&lt;/a>.&lt;br />
&lt;div style="text-align: justify;">
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-protherm-icon-off.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="188" data-original-width="484" height="124" src="https://magapov.nmph.ru/img/domoticz-protherm-icon-off.JPG" width="320" />&lt;/a>&lt;/div>
Update! На днях завис роутер, и не отработал сценарий отключения котла в 6:50. Сетую на нестабильность Nexx WT3020. Чтобы устранить подобные случаи, перешёл на установки таймеров в самом Sonoff'е, в прошивке Tasmota.&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/sonoff_timer.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="751" data-original-width="908" height="330" src="https://magapov.nmph.ru/img/sonoff_timer.gif" width="400" />&lt;/a>&lt;/div>
&lt;div style="text-align: justify;">
Думаю после смены роутера, подобные зависоны уйдут, и можно будет всё делать через Domoticz.&lt;br />
&lt;br />&lt;/div>
&lt;a href="https://magapov.nmph.ru/2018/11/sonoff-basic-din-sonoff-dr.html" style="text-align: justify;" target="_blank">Sonoff Basic.&amp;nbsp;Крепление на DIN-рейку&lt;/a>&lt;/div></description></item><item><title>Domoticz. Погода от DarkSky</title><link>https://magapov.nmph.ru/2018/10/domoticz-darksky.html</link><pubDate>Fri, 12 Oct 2018 09:18:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/10/domoticz-darksky.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
Краткая памятка, как получать температуру воздуха, влажность через интернет при помощи сервис &lt;a href="https://darksky.net/" target="_blank">DarkSky&lt;/a>.&lt;br />
Регистрируемся на сайте, переходим в &lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">&lt;b>Console&lt;/b>&lt;/span> и копируем &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">API key&lt;/span>&lt;/b>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/api-key.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="365" data-original-width="1538" height="150" src="https://magapov.nmph.ru/img/api-key.jpg" width="640" />&lt;/a>&lt;/div>
В Domoticz переходим в &lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">&lt;b>Настройка&amp;gt;Оборудование&lt;/b>&lt;/span>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-weather.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="445" data-original-width="1485" height="190" src="https://magapov.nmph.ru/img/domoticz-weather.JPG" width="640" />&lt;/a>&lt;/div>
Имя: название датчика&lt;br />
Тип: DarkSky (Weather Lookup)&lt;br />
Ключ API: вставляем ключ, который скопировали выше&lt;br />
Место нахождения: координаты в формате "ширина, долгота"&lt;br />
&lt;br />
После добавления датчика, смотрим логи &lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">&lt;b>(Настройка&amp;gt;Журнал)&lt;/b>&lt;/span>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/logs.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="113" data-original-width="870" height="82" src="https://magapov.nmph.ru/img/logs.JPG" width="640" />&lt;/a>&lt;/div>
Получили 6 устройств. Теперь добавим их в консоль &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">(Настройка&amp;gt;Устройства)&lt;/span>&lt;/b>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-devices.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="276" data-original-width="1600" height="110" src="https://magapov.nmph.ru/img/domoticz-devices.JPG" width="640" />&lt;/a>&lt;/div>
Жмем напротив устройства, с типом &lt;b>&lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">Temp + Humidity + Baro&lt;/span>&lt;/b> кнопку добавить, задаем имя, которое будет светиться в консоле, например "Температура на улице"&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-weather-temp.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="366" data-original-width="1529" height="152" src="https://magapov.nmph.ru/img/domoticz-weather-temp.JPG" width="640" />&lt;/a>&lt;/div>
Идём во вкладку &lt;span style="font-family: &amp;quot;courier new&amp;quot; , &amp;quot;courier&amp;quot; , monospace;">&lt;b>"Температура"&lt;/b>&lt;/span> и смотрим погоду.&lt;br />
&lt;br />
Как мониторить сетевые устройства Online, встроенными средствами Domoticz, разбираемся &lt;a href="https://magapov.nmph.ru/2018/10/domoticz_30.html" target="_blank">тут&lt;/a>&lt;/div></description></item><item><title>Domoticz. Добавление камеры видеонаблюдения Reolink RLC-420</title><link>https://magapov.nmph.ru/2018/09/domoticz-reolink-rlc-420.html</link><pubDate>Mon, 24 Sep 2018 17:13:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/09/domoticz-reolink-rlc-420.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
Добавим камеры видеонаблюдения &lt;a href="http://ali.pub/2ru3ij" target="_blank">Reolink RLC-420&lt;/a> в Domoticz.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-reolink-add.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="438" data-original-width="1340" height="208" src="https://magapov.nmph.ru/img/domoticz-reolink-add.jpg" width="640" />&lt;/a>&lt;/div>
&lt;br />
Нажимаем в правом верхнем углу "Добавить камеру"&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-reolink-add-2.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="600" data-original-width="910" height="419" src="https://magapov.nmph.ru/img/domoticz-reolink-add-2.jpg" width="640" />&lt;/a>&lt;/div>
&lt;br />
Имя: имя устройства (я выбрал расположение)&lt;br />
Протокол: HTTP (по-умолчанию)&lt;br />
IP-Адрес: адрес камеры&lt;br />
Порт: 80 (для доступа по HTTP)&lt;br />
Имя: (пусто)&lt;br />
Пароль: (пусто)&lt;br />
ImageURL:&amp;nbsp;cgi-bin/api.cgi?cmd=Snap&amp;amp;channel=0&amp;amp;rs=wuuPhkmUCeI9WG7C&amp;amp;user=user&amp;amp;password=k4j4n5n6&lt;br />
&lt;br />
логин (user) и пароль (k4j4n5n6) указал в этой строке&lt;br />
&lt;br />
Нажимаем "Тест" чтобы проверить идёт ли картинка с камеры&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-reolink-add-3.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="598" data-original-width="905" height="422" src="https://magapov.nmph.ru/img/domoticz-reolink-add-3.jpg" width="640" />&lt;/a>&lt;/div>
&lt;br />
Опционально, можно настроить мониторинг сетевой доступности камер. На случай, если камера выйдет из строя, или вандалы её разобьют - отправить сообщение по электронной почте. Как это сделать, написано &lt;a href="https://magapov.nmph.ru/2018/10/domoticz_30.html" target="_blank">тут&lt;/a>&amp;nbsp;&lt;/div>&lt;div dir="ltr" style="text-align: left;" trbidi="on">&lt;br />&lt;/div>&lt;div dir="ltr" style="text-align: left;" trbidi="on">&lt;a href="https://magapov.nmph.ru/2021/09/reolink.html" target="_blank">Инструкция&lt;/a> как поделиться камерой для просмотра сторонними лицами&lt;/div></description></item><item><title>Domoticz. Установка в Ubuntu 18.04</title><link>https://magapov.nmph.ru/2018/09/domoticz-ubuntu-1804.html</link><pubDate>Sat, 22 Sep 2018 06:54:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/09/domoticz-ubuntu-1804.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
Вообще, domoticz ставится в ubuntu очень просто...&lt;br />
&lt;br />
Ставим зависимости&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo apt install build-essential cmake libboost-dev libboost-thread-dev libboost-system-dev libsqlite3-dev
sudo apt install libcurl4-openssl-dev libssl-dev libusb-dev zlib1g-dev python3-dev git curl&lt;/code>&lt;/pre>
&lt;br />
И запускаем скрипт установки&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo curl -L install.domoticz.com | bash&lt;/code>&lt;/pre>
&lt;br />
..но не в Ubuntu 18.04. Тут установка обрывается на проверке зависимостей libcurl3&lt;br />
&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-install-curl.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="649" data-original-width="1315" height="314" src="https://magapov.nmph.ru/img/domoticz-install-curl.jpg" width="640" />&lt;/a>&lt;/div>
&lt;br />
На форумах об этом упоминается. Что при установке на&amp;nbsp;&lt;a href="https://www.domoticz.com/forum/viewtopic.php?t=23357" target="_blank">чистую&lt;/a>&amp;nbsp;18.04, что при обновлении с&amp;nbsp;&lt;a href="https://github.com/domoticz/domoticz/issues/2373" target="_blank">других версий&lt;/a>.&lt;br />
&lt;br />
Поэтому придется собирать&amp;nbsp;&lt;a href="https://www.domoticz.com/wiki/Raspberry_Pi_-_Build_Domoticz_from_source#Raspberry_Pi_-_Build_Domoticz_from_source" target="_blank">вручную&lt;/a>&lt;br />
&lt;br />
Ставим необходимые пакеты для сборки&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo apt-get install cmake make gcc g++ libssl-dev git libcurl4-gnutls-dev libusb-dev python3-dev zlib1g-dev&amp;nbsp;libcurl4-openssl-dev&lt;/code>&lt;/pre>
Устанавливаем библиотеки boost (занимает значительное время)&lt;br />
&lt;pre>&lt;code class="bash hljs">mkdir boost
cd boost
wget https://dl.bintray.com/boostorg/release/1.68.0/source/boost_1_68_0.tar.gz
tar xfz boost_1_68_0.tar.gz
cd boost_1_68_0/
./bootstrap.sh
./b2 stage threading=multi link=static --with-thread --with-system
sudo ./b2 install threading=multi link=static --with-thread --with-system
cd ../../
rm -Rf boost/&lt;/code>&lt;/pre>
&lt;br />
Качаем исходники в папку dev-domoticz&lt;br />
&lt;pre>&lt;code class="bash hljs">git clone https://github.com/domoticz/domoticz.git dev-domoticz&lt;/code>&lt;/pre>
И запускаем сборку&lt;br />
&lt;pre>&lt;code class="bash hljs">cd dev-domoticz
git pull
cmake -DCMAKE_BUILD_TYPE=Release CMakeLists.txt
make -j 3&lt;/code>&lt;/pre>
(для успешной сборки, требуется минимум 2Гб ОЗУ, и 20 минут ожидания для Core 2 Duo 2.4Ghz)&lt;br />
&lt;br />
Осталось настроить демон для &lt;a href="https://www.domoticz.com/wiki/Linux#Option_2:_Systemd_Alternative_.28Preferred.29" target="_blank">автозапуска&lt;/a>&lt;br />
&lt;pre>&lt;code class="bash hljs">nano /etc/systemd/system/domoticz.service
[Unit]
Description=domoticz_service
[Service]
User=john
Group=john
ExecStart=/home/john/dev-domoticz/domoticz -www 8080 -sslwww 443
WorkingDirectory=/home/john/dev-domoticz
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;# The below works on ubuntu 16 LTS.
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;CapabilityBoundingSet=CAP_NET_BIND_SERVICE
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Restart=on-failure
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RestartSec=1m
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;#StandardOutput=null
[Install]
&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WantedBy=multi-user.target&lt;/code>&lt;/pre>
Перезагружаем systemd для поиска новых или измененных демонов и активируем демон domoticz.service&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo systemctl daemon-reload
sudo systemctl enable domoticz.service&lt;/code>&lt;/pre>
Запускаем&lt;br />
&lt;pre>&lt;code class="bash hljs">systemctl start domoticz.service&lt;/code>&lt;/pre>
&lt;br />
Через веб-морду зашел в настройки, поменял системный язык и локацию, но настройки не применялись. Оказалось были проблемы с записью в SQL базу Domoticz&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/domoticz-ownership-1.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="372" data-original-width="1600" height="148" src="https://magapov.nmph.ru/img/domoticz-ownership-1.jpg" width="640" />&lt;/a>&lt;/div>
&lt;br />
Поставил&amp;nbsp;владельцем файла /home/john/dev-domoticz/domoticz.db учетную запись пользователя john. После перезагрузки все заработало.&lt;br />
&lt;br />
Теперь можно &lt;a href="https://magapov.nmph.ru/2019/11/domoticz-ip.html" target="_blank">настроить&lt;/a> доступ к серверу Domoticz из внешнего мира.&lt;br />
&lt;br />
Всё взлетело?! Может пора управлять &lt;a href="https://magapov.nmph.ru/2020/02/domoticz-google-assistant.html">Domoticz голосом&lt;/a>? Легко!&lt;/div></description></item><item><title>Sonoff 4CH R2. Установка прошивки Tasmota при помощи PlatformIO</title><link>https://magapov.nmph.ru/2018/09/sonoff-4ch-r2-tasmota-platformio.html</link><pubDate>Sat, 08 Sep 2018 18:37:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/09/sonoff-4ch-r2-tasmota-platformio.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
Надоело каждый раз вспоминать куда раскидывать свежие библиотеки в Arduino IDE. Оказывается можно без боли в заднице быстро собрать и &lt;a href="https://github.com/arendst/Sonoff-Tasmota/wiki/PlatformIO" target="_blank">закинуть&lt;/a> свежую прошивку Tasmota через PlatformIO.&lt;br />
&lt;a href="https://magapov.nmph.ru/2020/01/visual-studio-code-tasmota.html" style="text-align: justify;">Тут&lt;/a>&lt;span style="text-align: justify;">&amp;nbsp;можно почитать, как просто установить и подготовить для сборки прошивки Visual Studio Code.&lt;/span>&lt;br />
Скачиваем свежую версию &lt;a href="https://github.com/arendst/Sonoff-Tasmota/releases" target="_blank">Source Code&lt;/a>, разархивируем. Запускаем&amp;nbsp;Visual Studio Code&amp;gt;Ctrl+O&amp;gt;Указываем путь к распакованной папке.&lt;br />
Открываем файл platformio.ini. Снимаем коммент&lt;br />
&lt;pre>&lt;code class="bash hljs">env_default = sonoff&lt;/code>&lt;/pre>
Спускаемся ниже и проверяем настройки COM-порта&lt;br />
&lt;pre>&lt;code class="bash hljs">; *** Upload Serial reset method for Wemos and NodeMCU
upload_speed = 115200
upload_resetmethod = nodemcu
upload_port = COM3
extra_scripts = pio/strip-floats.py&lt;/code>&lt;/pre>
Далее открываем файл sonoff/user_config.h и пробегаемся по настройкам WiFi, MQTT и прочим нужным параметрам.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/pio2.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1027" data-original-width="977" height="640" src="https://magapov.nmph.ru/img/pio2.jpg" width="608" />&lt;/a>&lt;/div>
&lt;br />
Теперь пора выбрать настройки платформы для компиляции, все это находится в правом нижнем углу&lt;br />
&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/pio3.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="79" data-original-width="1090" height="44" src="https://magapov.nmph.ru/img/pio3.jpg" width="640" />&lt;/a>&lt;/div>
&lt;br />
Приводим все к виду как на скриншоте&lt;br />
&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/pio4.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="941" data-original-width="712" height="640" src="https://magapov.nmph.ru/img/pio4.jpg" width="484" />&lt;/a>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;br />&lt;/div>
Осталось нажать Build и Upload в левом нижнем углу&lt;br />
&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/pio5-2.jpg" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="169" data-original-width="405" height="166" src="https://magapov.nmph.ru/img/pio5-2.jpg" width="400" />&lt;/a>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;br />&lt;/div>
Не забываем перевести плату в режим программирования!&lt;br />
&lt;b>Для загрузки в режиме программирования отключаемся от USB-порта, зажимаем кнопку L1 (I00 на плате) и подключаем снова к USB. Отпускать кнопку через 2-3 секунды.&lt;/b>&lt;br />
&lt;br />
&lt;a href="https://magapov.nmph.ru/2018/12/sonoff-4ch-r2-dht21-am2301.html" target="_blank">Sonoff 4CH R2. Подключение датчика температуры и влажности DHT21 (AM2301)&lt;/a>&lt;br />
&lt;a href="https://magapov.nmph.ru/2018/11/sonoff-4ch-tasmota-platformio.html" target="_blank">Sonoff 4CH. Установка прошивки Tasmota при помощи PlatformIO&lt;/a>&lt;/div>&lt;div dir="ltr" style="text-align: left;" trbidi="on">&lt;a href="https://magapov.nmph.ru/2020/12/tasmota-rules.html" target="_blank">Программируем Sonoff и создаем свои сценарии без участия Domoticz&amp;nbsp;&lt;/a>&lt;/div></description></item><item><title>Sonoff 4CH R2. Установка прошивки Tasmota при помощи Arduino IDE</title><link>https://magapov.nmph.ru/2018/08/sonoff-4ch-r2-tasmota.html</link><pubDate>Fri, 24 Aug 2018 15:16:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/08/sonoff-4ch-r2-tasmota.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">Приобрел четырехканальное реле для управления фасадным освещением &lt;a href="http://ali.pub/2pxsuu" target="_blank">Sonoff 4CH R2&lt;/a>. Сразу припаиваем к плате&amp;nbsp;&lt;a href="http://ali.pub/29gzf1" target="_blank">гребенку&lt;/a>&amp;nbsp;для удобного подключения&amp;nbsp;&lt;a href="http://ali.pub/29dze5" target="_blank">CP2102 USB to TTL&lt;/a>.&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/IMG_20180824_174905_HDR.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1283" data-original-width="1600" height="512" src="https://magapov.nmph.ru/img/IMG_20180824_174905_HDR.jpg" width="640" />&lt;/a>&lt;/div>&lt;div class="separator" style="clear: both; text-align: center;">&lt;br />
&lt;/div>&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/IMG_20180822_144210.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="1600" data-original-width="900" height="640" src="https://magapov.nmph.ru/img/IMG_20180822_144210.jpg" width="360" />&lt;/a>&lt;/div>&lt;br />
Качаем свежую &lt;a href="https://github.com/arendst/Sonoff-Tasmota/" target="_blank">прошивку&lt;/a> Копируем папки со свежими библиотеками из&amp;nbsp;Sonoff-Tasmota-6.x.x\lib в&amp;nbsp;C:\Program Files (x86)\Arduino\libraries&lt;br />
&lt;br />
Открываем файл&amp;nbsp;Sonoff-Tasmota-6.x.x\sonoff\sonoff.ino при помощи &lt;a href="https://www.arduino.cc/" target="_blank">Arduino IDE&lt;/a>&lt;br />
Заполняем следующие настройки во вкладке user_config.h&lt;br />
#define MODULE&amp;nbsp; SONOFF_4CH //Обязательно меняем на нашу модель&lt;br />
&lt;br />
// -- Wifi ----------------------------------------&lt;br />
#define WIFI_IP_ADDRESS&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "0.0.0.0"&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &lt;br />
#define WIFI_GATEWAY&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;"192.168.2.254"&lt;br />
#define WIFI_SUBNETMASK&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "255.255.255.0"&lt;br />
#define WIFI_DNS&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;"192.168.2.27"&lt;br />
&lt;br />
#define STA_SSID1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "SSID"&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Имя точки доступа&lt;br />
#define STA_PASS1&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "password"&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Пароль&lt;br />
#define STA_SSID2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "SSID_rezerv"&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Имя резервной точки доступа&lt;br />
#define STA_PASS2&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; "password2"&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; // Пароль&lt;br />
&lt;br />
Внимание, на версии платы Sonoff 4CH R2 V1.0 RX и TX не перепутаны! Как пишут на &lt;a href="https://github.com/arendst/Sonoff-Tasmota/wiki/Sonoff-4CH-and-4CH-Pro" target="_blank">Tasmota&lt;/a>. Для загрузки в режиме программирования отключаемся от USB-порта, зажимаем кнопку L1 (I00 на плате) и подключаем снова к USB. Отпускать кнопку через 2-3 секунды.&lt;br />
&lt;br />
Ставим настройки в Arduino IDE.&lt;br />
&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/settings-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="604" data-original-width="484" height="400" src="https://magapov.nmph.ru/img/settings-2.jpg" width="320" />&lt;/a>&lt;/div>&lt;br />
Жмем Отправить, дожидаемся окончания загрузки и радуемся.&lt;br />
&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">&lt;a href="https://magapov.nmph.ru/img/web.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="873" data-original-width="605" height="400" src="https://magapov.nmph.ru/img/web.JPG" width="276" />&lt;/a>&lt;/div>&lt;div class="separator" style="clear: both; text-align: center;">&lt;br />
&lt;/div>&lt;div class="separator" style="clear: both; text-align: left;">Кто не разобрался с Arduino IDE, попробуйте через &lt;a href="https://magapov.nmph.ru/2018/09/sonoff-4ch-r2-tasmota-platformio.html" target="_blank">PlatformIO&lt;/a>.&lt;/div>&lt;a href="https://magapov.nmph.ru/2018/12/sonoff-4ch-r2-dht21-am2301.html" target="_blank">Sonoff 4CH R2. Подключение датчика температуры и влажности DHT21 (AM2301)&lt;/a>&lt;br />
&lt;/div></description></item><item><title>Domoticz. Установка в Ubuntu 14.04</title><link>https://magapov.nmph.ru/2018/04/domoticz-ubuntu-1404.html</link><pubDate>Wed, 04 Apr 2018 13:42:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/04/domoticz-ubuntu-1404.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">Пост не несет ничего нового, просто для сравнения...&lt;br />
Вот это я понимаю установка. Скрипт сам проверит, чего не хватает в системе. Сравните с &lt;a href="https://kb.smartliving.ru/kak-ustanovit-majordomo-na-linux/" target="_blank">установкой на 3 страницы&lt;/a> Majordomo&lt;br />
&lt;pre>&lt;code class="bash hljs">sudo curl -L install.domoticz.com | bash&lt;/code>&lt;/pre>&lt;/div></description></item><item><title>Sonoff. Обновление прошивки OTA</title><link>https://magapov.nmph.ru/2018/02/sonoff-ota.html</link><pubDate>Wed, 28 Feb 2018 18:07:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/02/sonoff-ota.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
Заходим на веб морду, переходим в &lt;b>Firmware Upgrade&lt;/b> и в меню &lt;b>Upgrade by file upload&lt;/b> выбираем фал прошивки .bin&lt;br />
Готовые прошивки можно найти &lt;a href="https://github.com/arendst/Sonoff-Tasmota/releases">тут&lt;/a>&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/firmware-upgrade.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="813" data-original-width="620" height="640" src="https://magapov.nmph.ru/img/firmware-upgrade.gif" width="488" />&lt;/a>&lt;/div>
&lt;div class="separator" style="clear: both; text-align: left;">
&lt;br />&lt;/div>
&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;">&lt;tbody>
&lt;tr>&lt;td style="text-align: center;">&lt;a href="https://magapov.nmph.ru/img/check-version.JPG" imageanchor="1" style="margin-left: auto; margin-right: auto;">&lt;img border="0" data-original-height="527" data-original-width="775" height="434" src="https://magapov.nmph.ru/img/check-version.JPG" width="640" />&lt;/a>&lt;/td>&lt;/tr>
&lt;tr>&lt;td class="tr-caption" style="text-align: center;">Проверим версию программы в меню Information&lt;/td>&lt;/tr>
&lt;/tbody>&lt;/table>
&lt;div class="separator" style="clear: both; text-align: left;">
&lt;br />&lt;/div>
&lt;div class="separator" style="clear: both; text-align: left;">
&lt;br />&lt;/div>
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;br />&lt;/div>
&lt;br />&lt;/div></description></item><item><title>Domoticz. Подключение датчиков с информацией о системе</title><link>https://magapov.nmph.ru/2018/01/domoticz.html</link><pubDate>Fri, 05 Jan 2018 14:43:00 +0000</pubDate><guid>https://magapov.nmph.ru/2018/01/domoticz.html</guid><description>&lt;div dir="ltr" style="text-align: left;" trbidi="on">
Добавим датчики с информацией о системе под управлением Ubuntu 14.04&lt;br />
Переходим в Настройка&amp;gt;Оборудование&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-94-D0-BE-D0-B1-D0-B0-D0-B2-D0-BB-D0-B5-D0-BD-D0-B8-D0-B5-D1-81-D0-B8-D1-81-D1-82-D0-B5-D0-BC-D0-BD-D1-8B-D1-85-D0-B4-D0-B0-D1-82-D1-87-D0-B8-D0-BA-D0-BE-D0-B2.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="226" data-original-width="1323" height="109" src="https://magapov.nmph.ru/img/D0-94-D0-BE-D0-B1-D0-B0-D0-B2-D0-BB-D0-B5-D0-BD-D0-B8-D0-B5-D1-81-D0-B8-D1-81-D1-82-D0-B5-D0-BC-D0-BD-D1-8B-D1-85-D0-B4-D0-B0-D1-82-D1-87-D0-B8-D0-BA-D0-BE-D0-B2.JPG" width="640" />&lt;/a>&lt;/div>
Затем Настройка&amp;gt;Настройки&amp;gt;Разрешить на 5 минут "Принять новое оборудование"&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-94-D0-BE-D0-B1-D0-B0-D0-B2-D0-BB-D0-B5-D0-BD-D0-B8-D0-B5-D1-81-D0-B8-D1-81-D1-82-D0-B5-D0-BC-D0-BD-D1-8B-D1-85-D0-B4-D0-B0-D1-82-D1-87-D0-B8-D0-BA-D0-BE-D0-B22.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="189" data-original-width="1194" height="100" src="https://magapov.nmph.ru/img/D0-94-D0-BE-D0-B1-D0-B0-D0-B2-D0-BB-D0-B5-D0-BD-D0-B8-D0-B5-D1-81-D0-B8-D1-81-D1-82-D0-B5-D0-BC-D0-BD-D1-8B-D1-85-D0-B4-D0-B0-D1-82-D1-87-D0-B8-D0-BA-D0-BE-D0-B22.JPG" width="640" />&lt;/a>&lt;/div>
Теперь в Настройка&amp;gt;Устройства увидим новое оборудование&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-94-D0-BE-D0-B1-D0-B0-D0-B2-D0-BB-D0-B5-D0-BD-D0-B8-D0-B5-D1-81-D0-B8-D1-81-D1-82-D0-B5-D0-BC-D0-BD-D1-8B-D1-85-D0-B4-D0-B0-D1-82-D1-87-D0-B8-D0-BA-D0-BE-D0-B23.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="208" data-original-width="1600" height="82" src="https://magapov.nmph.ru/img/D0-94-D0-BE-D0-B1-D0-B0-D0-B2-D0-BB-D0-B5-D0-BD-D0-B8-D0-B5-D1-81-D0-B8-D1-81-D1-82-D0-B5-D0-BC-D0-BD-D1-8B-D1-85-D0-B4-D0-B0-D1-82-D1-87-D0-B8-D0-BA-D0-BE-D0-B23.JPG" width="640" />&lt;/a>&lt;/div>
Остается только добавить необходимое устройство, нажав на зеленую стрелку&lt;br />
&lt;div class="separator" style="clear: both; text-align: center;">
&lt;a href="https://magapov.nmph.ru/img/D0-94-D0-BE-D0-B1-D0-B0-D0-B2-D0-BB-D0-B5-D0-BD-D0-B8-D0-B5-D1-81-D0-B8-D1-81-D1-82-D0-B5-D0-BC-D0-BD-D1-8B-D1-85-D0-B4-D0-B0-D1-82-D1-87-D0-B8-D0-BA-D0-BE-D0-B24.JPG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;">&lt;img border="0" data-original-height="312" data-original-width="1367" height="146" src="https://magapov.nmph.ru/img/D0-94-D0-BE-D0-B1-D0-B0-D0-B2-D0-BB-D0-B5-D0-BD-D0-B8-D0-B5-D1-81-D0-B8-D1-81-D1-82-D0-B5-D0-BC-D0-BD-D1-8B-D1-85-D0-B4-D0-B0-D1-82-D1-87-D0-B8-D0-BA-D0-BE-D0-B24.JPG" width="640" />&lt;/a>&lt;/div>
&lt;br />&lt;/div></description></item></channel></rss>