В связи с тем, что много кто хочет импортировать данные из fit.google или посредством fit.google из других программ — а автор программы, что в чате программы, что на форуме поддержки собирает только + к просьбе это реализовать.
решил реализовал «Импорт из Fit.Google в Notify & Fitness»
— шаги и вес — восстанавливает (интересно, что вес «Notify & Fitness» отправляла в fit.google он их не понимал (не отображал в программе) — но честно складировал у себя)
— сон — все сложнее, по моему данные у гугла есть, только от приложения mifit, не факт, что буду с ним возится не такая уж большая заслуга поспать
— GPS — восстанавливает (просто потому, что легко) — не знаю где отображатся в Notify & Fitness возможно связь с тренировками.
— тренировки не трогал
ЗЫ — продукта для скачивания нет есть алгоритм который работает на моих мощностях (если будет спрос сформирую в решение)
Raspberry Pi OS locale
ошибка и не до конца оформленный перевод в консоли
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").
Лечится добавлением записи в файл
sudo nano /etc/default/locale
LC_CTYPE=en_US.UTF-8
LC_MESSAGES=en_US.UTF-8
LC_ALL=en_US.UTF-8
взято тут
Tasmota MagicHome RGBW
Стандартный модуль MagicHome путает цвета потому тут нам подсказывают какие пины, за что отвечают

эта конфигурация с последней тасмотой на ура подхватываются модулем tasmota HomeAssistant
fang-hacks + webhook HA
и так тут берем мучаемся но все же запускаем мертвую камеру как ip камеру
Далее пробуем настроить детектор движения, ведь лишних датчиков не бывает
вроде тут есть инструкция, но файлы которые можно найти в репозиторием выдавали
snx_isp_ctl Segmentation fault
mosquitto_pub Segmentation fault
единственные файлы которые у меня заработали это файлы с «/media/mmcblk0p2/data/test»
Но mqtt там нет, а wget не хочет работать с post
решение
создаем два файла
vi /media/mmcblk0p2/data/usr/bin/jsonmotion.sh
#!/bin/sh
json=$(cat <<EOF
{
"motion": true
}
EOF
)&&len=${#json}&&echo -e "POST /api/webhook/my-super-secret-webhook-id HTTP/1.1\r\nHost: 192.168.1.88\r\nContent-type: application/json\r\nContent-length: $len\r\nConnection: close \r\n\r\n$json" | nc -i 3 host.ha 8123
chmod 755 /media/mmcblk0p2/data/usr/bin/jsonmotion.sh
vi /media/mmcblk0p2/data/usr/bin/jsonnomotion.sh
#!/bin/sh
json=$(cat <<EOF
{
"motion": false
}
EOF
)&&len=${#json}&&echo -e "POST /api/webhook/my-super-secret-webhook-id HTTP/1.1\r\nHost: 192.168.1.88\r\nContent-type: application/json\r\nContent-length: $len\r\nConnection: close \r\n\r\n$json" | nc -i 3 host.ha 8123
chmod 755 /media/mmcblk0p2/data/usr/bin/jsonnomotion.sh
и меняем vi /media/mmcblk0p2/data/usr/bin/rtsp-md.sh
#!/bin/sh
# Copyright 2018 Vladimir Dronnikov
# GPL
# MQTT added by Johan Leirnes 2018-11-28
snx_isp_ctl --mdset-thre 1000 # YMMV
snx_isp_md 2>&1 | awk '
/^Detected Moving!$/ {
if (alarm == 0) {
alarm = 1
print "+alarm"
system("/media/mmcblk0p2/data/usr/bin/jsonmotion.sh")
}
}
/(have no motion status = 0)/{
if (alarm != 0) {
alarm = 0
print "-alarm"
system("/media/mmcblk0p2/data/usr/bin/jsonnomotion.sh")
}
}
'
Techem Poznań
Итак, показатели счетчиков Techem собираем показания с помощью iM871A-USB | IMST и wmbusmeters
типы наших счетчиком
счетчик тепла
manufacturer: (TCH) Techem Service (0x5068)
type: Heat Cost Allocator (0x08) encrypted
ver: 0x94

и счетчик воды (горячей и холодной)
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 для теста система подскажет команду для установки нужного пакеты
как результат мы получим наши счетчики. Вода

И тепло, с показаниями температуры

Настраиваем L2TP VPN-сервер на платформе Linux (Debian / Ubuntu) для подключение роутеров xiaomi
Как я вытягивал камеры с очень серого IP малой кровью
Для работы с IPsec мы будем использовать пакет strongSwan, установим его:
apt install strongswan
Затем откроем файл настроек /etc/ipsec.conf и добавим в его конец следующие две секции:
conn rw-base
fragmentation=yes
dpdaction=clear
dpdtimeout=90s
dpddelay=30sconn l2tp-vpn
also=rw-base
ike=aes128-sha256-modp3072
esp=aes128-sha256-modp3072
leftsubnet=%dynamic[/1701]
rightsubnet=%dynamic
mark=%unique
leftauth=psk
rightauth=psk
type=transport
auto=add
Первая секция задает общие параметры: включает фрагментацию 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 на редактирование и приводим к следующему виду. Опции перечислены в порядке их следования, нужно раскомментировать их и указать нужное значение, если опция отсутствует, то ее следует добавить в конце файла.
asyncmap 0
auth
crtscts
lock
hide-password
modem
mtu 1460
lcp-echo-interval 30
lcp-echo-failure 4
noipx
refuse-pap
refuse-chap
refuse-mschap
require-mschap-v2
multilink
mppe-stateful
Если вы будете использовать 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
nano /etc/ppp/ip-down добавляем
iptables -t nat -D POSTROUTING -s $5 -j MASQUERADE
iptables -D FORWARD -s $5 -j ACCEPT
добавлено 22.02.2024
все то же самое, но если вы хотите параллельно использовать pptp
apt install pptpd
sudo systemctl enable pptpd
sudo systemctl start pptpd
sudo systemctl status pptpd
/etc/ppp/chap-secrets и внесем следующую строку:
petrov1 pptp Pa$$word_1 10.2.2.97
Home Assistant Letsencrypt local network SSL
И так мы установили всю систему и установили сертификаты, все бы хорошо, но теперь доступ по локальному адресу должен быть по 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 на локальные.
mssql debian 10-11
Insert-gt niebeski & co PLUS Rewizor
odksięgowanie
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 = порядковый номер года для обращения к справочнику
SELECT TOP (1000) [dkr_Id]
,[dkr_IdRoku]
,[dkr_DataDekretacji]
,[dkr_DataDokumentu]
,[dkr_DataOperacji]
,[dkr_Status]
,[dkr_Rejestr]
,[dkr_Numer]
,[dkr_NrPelny]
,[dkr_DokumentZrodlowy]
,[dkr_KontrolaBilansowania]
,[dkr_Waluta]
,[dkr_WalutaWyswietlana]
,[dkr_KursDokumentu]
,[dkr_LiczbaJednostek]
,[dkr_RodzajKursu]
,[dkr_DataKursu]
,[dkr_IdBanku]
,[dkr_Kwota]
,[dkr_KwotaWaluta]
,[dkr_Uwagi]
,[dkr_IdKategorii]
,[dkr_Dekretowal]
,[dkr_Ksiegowal]
,[dkr_TypObiektu]
,[dkr_IdObiektu]
,[dkr_TypDokImport]
,[dkr_IdDokImport]
,[dkr_ImportPochodzenie]
,[dkr_IdKh]
,[dkr_SymbolKh]
,[dkr_NrWDzienniku]
,[dkr_Podtyp]
,[dkr_TrybWprowadzaniaRozrachunkow]
,[dkr_WalutaKursWyswietlany]
,[dkr_KwotaWn]
,[dkr_KwotaMa]
,[dkr_KwotaWalutaWn]
,[dkr_KwotaWalutaMa]
,[dkr_Storno]
,[dkr_Opis]
,[dkr_RodzajDowodu]
,[dkr_IdObiektuVatOss]
FROM [dbo].[dkr__Dokument]
xmlreader.so php70
ошибка при загрузке модуля
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
и
dom.ini
extension=dom.so
extension=xmlreader.so