ошибка и не до конца оформленный перевод в консоли
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LANG = "en_GB.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to the standard locale ("C").
manufacturer: (TCH) Techem Service (0x5068) type: Radio converter (meter side) (0x37) encrypted ver: 0x95
на системе линукс устанавливаем дополнительные библиотеки клонируем репозитариум и устанавливаем программу.
sudo apt install librtlsdr-dev
git clone https://github.com/weetmuts/wmbusmeters.git
cd wmbusmeters
./configure; make; sudo make install
собираем данные которые можем получить, что
wmbusmeters --debug auto:c1 > ~/txt.txt 2>&1 &
открываем файл
nano ~/txt.txt
и ищем в нем наши счетчик воды
ctrl+w
вписываем номер с счетчика воды
пункт 1 на фото
и создаем файл с (внимание в случае со счетчиками воды номер счетчика и номер, который он передает, разный — потому id с которого будем слушать сообщение это номер 2 на фото)
nano /etc/wmbusmeters.d/woda
name=woda
id=пункт 2 с фото сверху
ctr+o
ctr+x
Y
enter
nano ~/txt.txt
и ищем в нем наши счетчик воды
ctrl+w
вписываем номер с счетчика тепла и находим id который заканчивается нашим номер пункт 2 на фото ниже
и создаем файл с нашими батареями
nano /etc/wmbusmeters.d/vanna
name=vanna
id=пункт 1+2 на фото сверху
проделываем последние шаги со всеми счетчиками
Настаиваем сервис
nano /etc/wmbusmeters.conf
loglevel=normal
# You can use auto:t1 to find the device you have connected to your system.
# But do not use auto here since it will cause unnecessary and slow probing of the serial ports.
device=im871a:t1
# And mbus
logtelegrams=true
format=json
meterfiles=/var/lib/wmbusmeters/meter_readings
meterfilesaction=overwrite
meterfilesnaming=name
meterfilestimestamp=day
logfile=/var/log/wmbusmeters/wmbusmeters.log
alarmtimeout=1h
alarmexpectedactivity=mon-sun(00-23)
ignoreduplicates=true
shell=/usr/bin/mosquitto_pub -h host -u login -P password -t wmbusmeters/$METER_ID -m "$METER_JSON"
alarmshell=/usr/bin/mosquitto_pub -h host -u login -P password -t wmbusmeters_alarm -m "$ALARM_TYPE $ALARM_MESSAGE"
Меняем выделенные значения на свои.
Далее, устанавливаем сервис
sudo systemctl enable wmbusmeters
и запускаем
sudo systemctl start wmbusmeters
Проверьте установлен ли у вас mosquitto_pub ошибок в лога у меня не было
Выполните mosquitto_pub для теста система подскажет команду для установки нужного пакеты
Первая секция задает общие параметры: включает фрагментацию IKE и настраивает протокол обнаружения мертвых узлов (Dead Peer Detection, DPD), отвечающий за обнаружение неактивных клиентов. Вторая относится уже к L2TP-соединениям, указывая использовать транспортный режим IPsec, аутентификацию по общему ключу и задает используемые шифры. Приведенные значения являются рекомендуемыми и взяты из официальной документации strongSwan.
Общий ключ следует указать в файле /etc/ipsec.secrets, добавив в него следующую строку:
%any %any : PSK "mySharedKey"
Где mySharedKey — общий ключ, так как от него зависит безопасность вашей VPN-сети мы рекомендуем использовать в качестве ключа случайно сгенерированную строку из букв, цифр и спецсимволов. Для этого можно воспользоваться командой:
openssl rand -base64 18
Результатом ее выполнения станет случайная строка длинной в 18 символов.
После внесения указанных настроек перезапустим службу:
systemctl restart strongswan
В Ubuntu имя службы несколько иное — strongswan-starter, поэтому команда будет иметь вид:
systemctl restart strongswan-starter
Настраиваем L2TP
Для реализации функций L2TP-сервера предназначен пакет xl2tpd, для его установки выполните:
apt install xl2tpd
Затем откройте файл настроек /etc/xl2tpd/xl2tpd.conf, раскомментируйте и приведите к следующему виду опции:
[global] port = 1701 auth file = /etc/ppp/chap-secrets access control = no ipsec saref = yes force userspace = yes
[lns default] exclusive = no ip range = 10.2.2.100-10.2.2.199 hidden bit = no local ip = 10.2.2.1 length bit = yes require authentication = yes name = l2tp-vpn pppoptfile = /etc/ppp/options.xl2tpd flow bit = yes
Большая часть опций относится к настройке протокола L2TP и требует понимания его работы, поэтому мы на них останавливаться не будем. Разберем те опции, которые имеют существенное значение. Параметр auth file указывает на файл с данными для аутентификации, а pppoptfile — набор опций для PPP-соединения, которое используется внутри L2TP-туннеля, name — имя сервера, которое будет использоваться для поиска аутентификационных данных в файле chap-secrets.
Опции local ip и ip range отвечают за локальный адрес сервера в VPN-сети и диапазон адресов для выдачи удаленным клиентам. Здесь можно использовать два подхода: выдавать клиентам адреса из диапазона локальной сети офиса и включить ProxyARP, в этом случае настраивать маршрутизацию на клиентах не требуется, они будут как-бы включены в общую сеть офиса на канальном уровне (L2), либо выдавать адреса из непересекающегося диапазона и использовать маршрутизацию. Автоматизировать создание маршрутов для Windows-клиентов можно с использованием PowerShell.
Для настройки PPP перейдем в /etc/ppp и скопируем стандартный файл настроек:
cd /etc/ppp cp options options.xl2tpd
Затем открываем файл /etc/ppp/options.xl2tpd на редактирование и приводим к следующему виду. Опции перечислены в порядке их следования, нужно раскомментировать их и указать нужное значение, если опция отсутствует, то ее следует добавить в конце файла.
Если вы будете использовать ProxyARP то дополнительно раскомментируйте опцию:
proxyarp
Также для Windows-клиентов можно передать настройку DNS-серверов, для этого добавьте опции:
ms-dns 192.168.1.1 ms-dns 192.168.1.2
Это позволит настроить первичный и альтернативный DNS-сервера в системе.
Сохраним все внесенные изменения и перезапустим службу L2TP-сервера:
systemctl restart xl2tpd
Строку со следующим сообщением можно проигнорировать, на работу VPN-сервера она не влияет:
xl2tpd[843]: setsockopt recvref[30]: Protocol not available
Заключительным этапом настройки будет создание учетных записей для удаленных клиентов, для этого откроем файл /etc/ppp/chap-secrets и внесем следующую строку:
ivanov l2tp-vpn Pa$$word_1 *
Первым указываем логин, затем имя службы, оно должно совпадать с тем, которое мы указали в опции name в xl2tpd.conf, после него идет пароль и IP-адрес клиента, символ * обозначает что можно присвоить любой адрес из выбранного диапазона. Если же требуется выдать клиенту постоянный адрес, то его следует указать явно, и он не должен входить в динамический диапазон указанный в ip range, например:
petrov l2tp-vpn Pa$$word_1 10.2.2.99
Для доступа к L2TP-серверу следует разрешить в брандмауэре входящие подключения к портам 500 UDP,1701 UDP и 4500 UDP.
И инструкция для переброски портов доступа в интернет клиента VPN через сервер VPN
nano /etc/ppp/ip-up добавляем
iptables -t nat -A POSTROUTING -s $5 -j MASQUERADE
iptables -A FORWARD -s $5 -j ACCEPT
И так мы установили всю систему и установили сертификаты, все бы хорошо, но теперь доступ по локальному адресу должен быть по https://192.168.*.*:8123 конечно с ругательством и.т.п
Изначально было попытка настроить роутер который бы перебрасывал из локальной сети на внутренний адрес по домену этакий /etc/hosts на роутере что вполне возможно на некоторых прошивках например Padawan, но у меня две сети и Home Assistant находится во внутренней 192.168.1.*** и с 192.168.0.*** разделено через wan.
Перенаправление не работает и доступ по домену homeassistant.domaen.ru из локальной сети кидает на вебморду роутера 192.168.0.1
Решение оказалось намного проще.
Создаете себе еще один суб-домен localhomeassistant.domaen.ru и прописываете ему A запись 192.168.1.***
Если получаете сертификат через DNS проблемы заканчиваются, разве если ходите можно создать для главной сети 192.168.0.*** тогда создаете себе имя local1homeassistant.domaen.ru или что-то подобное с A записью 192.168.0.5 (wan) роутера 192.168.1.*** и на него тоже получаете сертификат
Если решились заморочиться с получением сертификатов через http, то сначала всем записям прописываете внешний IP а после получения сертификата на три домена поменяйте IP на локальные.
SELECT TOP (1000) [dkpd_IdRoku]
,[dkpd_NumerLp]
,[dkpd_NumerPozycji]
FROM [dbo].[dkr_ParametrDziennika]
SELECT TOP (1000) [dkr_Id]
,[dkr_Status]
,[dkr_Ksiegowal]
,[dkr_NrWDzienniku]
FROM [ITIST].[dbo].[dkr__Dokument] where dkr_Id >469
отменяем проведение документов с id > 471
UPDATE dbo.dkr__Dokument
SET
dkr_Status = 1,
dkr_Ksiegowal=NULL,
dkr_NrWDzienniku=NULL
where dkr_Id >471
записываем следующий номер в дневнике последний+1
dkr__Dokument.dkr_NrWDzienniku
Update [dbo].[dkr_ParametrDziennika] set dkpd_NumerLp = 115 where dkpd_IdRoku = 3
dkpd_IdRoku = порядковый номер года для обращения к справочнику
PHP Startup: Unable to load dynamic library '/opt/php70/lib/php/modules/xmlreader.so' - /opt/php70/lib/php/modules/xmlreader.so: undefined symbol: dom_node_class_entry in Unknown on line 0
вызвана сортировкой файлов загружаемых модулей
решается
xmlreader.ini
; configuration for php xml module
; priority=20
;extension=xmlreader.so
Проблема собственно в следующем, при активации сканера NFC вешается событие на считывание метки, и в примерах я не нашел как его приостановить или изменить полезно когда есть несколько типов считывания, да и просто если нужно приостановить работу сканера