Июль 22

Mi Air Purifier Pro v7

итак апи для Mi Air Purifier Pro v7

zhimi.airpurifier.v7 Mi Air Purifier Pro v7

включение
/ajax/xiaomimiio.html?op=test_api_cmd&dip=192.168.1.68&dtoken=&dcmd=set_power&dopt=[«on»]
выключение
/ajax/xiaomimiio.html?op=test_api_cmd&dip=192.168.1.68&dtoken=
&dcmd=set_power&dopt=[«off»]

выключение дисплея
12:32:31 /ajax/xiaomimiio.html?op=test_api_cmd&dip=192.168.1.68&dtoken=&dcmd=set_led&dopt=[«off»]
включение дисплея
12:32:31 /ajax/xiaomimiio.html?op=test_api_cmd&dip=192.168.1.68&dtoken=
&dcmd=set_led&dopt=[«on»]

режимы
12:32:31 /ajax/xiaomimiio.html?op=test_api_cmd&dip=192.168.1.68&dtoken=&dcmd=set_mode&dopt=[«auto»]
12:32:31 /ajax/xiaomimiio.html?op=test_api_cmd&dip=192.168.1.68&dtoken=
&dcmd=set_mode&dopt=[«favorite»]
12:32:31 /ajax/xiaomimiio.html?op=test_api_cmd&dip=192.168.1.68&dtoken=***&dcmd=set_mode&dopt=[«silent»]

скорость от 1-16
/ajax/xiaomimiio.html?op=test_api_cmd&dip=192.168.1.68&dtoken=&dcmd=set_level_favorite&dopt=[1]
/ajax/xiaomimiio.html?op=test_api_cmd&dip=192.168.1.68&dtoken=
&dcmd=set_level_favorite&dopt=[16]

включить защиту от детей
/ajax/xiaomimiio.html?op=test_api_cmd&dip=192.168.1.68&dtoken=***&dcmd=set_child_lock&dopt=[«on»]

выключить защиту от детей
/ajax/xiaomimiio.html?op=test_api_cmd&dip=192.168.1.68&dtoken=***&dcmd=set_child_lock&dopt=[«off»]

громкость 0-100
/ajax/xiaomimiio.html?op=test_api_cmd&dip=192.168.1.68&dtoken=&dcmd=set_volume&dopt=[0]
/ajax/xiaomimiio.html?op=test_api_cmd&dip=192.168.1.68&dtoken=
&dcmd=set_volume&dopt=[100]

Июль 1

github & git init

итак у нас есть проэкт который мы хотим загнать на github

git init
git add .
git commit -m "Init"

для привязки репозитария к гит хабу

git remote add origin https://github.com/USER/demo.git
git push -u origin master

для того чтоб не вводить логин и пароль от гитхаба каждый раз

выполните перед

git pull

команду

git config --global credential.helper store

она сохранит веденные вами логин и пароль (для очистки удалите файл .git-credentials)

Июнь 30

www.sslforfree.com умер да зравствует free SSL

и так котортко https://www.sslforfree.com/ просит 50$ в месяц :))))))

пользовался им много лет в основном для бедныз заказчиков 🙂

итак
копируем

curl https://get.acme.sh | sh
source ~/.bashrc
cd .acme.sh/
acme.sh --issue -d domen.ru --webroot /var/www/www-root/data/www/domen.ru/

далее прописываете в крон

acme.sh --issue -d domen.ru --webroot /var/www/www-root/data/www/domen.ru/ --force

раз в пару месяцев,
а в файлы конфигурации сайта
путь к файлам ключа и сертификата
из выхлопа команды

[Tue Jun 30 15:42:07 MSK 2020] Your cert is in /root/.acme.sh/domen.ru/domen.ru.cer
[Tue Jun 30 15:42:07 MSK 2020] Your cert key is in /root/.acme.sh/domen.ru/domen.ru.key
[Tue Jun 30 15:42:07 MSK 2020] The intermediate CA cert is in /root/.acme.sh/domen.ru/ca.cer
[Tue Jun 30 15:42:07 MSK 2020] And the full chain certs is there: /root/.acme.sh/domen.ru/fullchain.cer

Апрель 3

Трехфазный wi-fi счетчик (DDS6619-016/017 sinotimer RS485 -> tx/rx -> modbus -> sonoff basic ->majordomo)

Итак нам понадобится 3 фазы 4 провода RS485 Modbus 380V 100A din-рейку счетчик энергии цифровой подсветка мощность факторный монитор с дисплеем напряжения тока

TTL к RS485 Модуль UART порт конвертер Модуль

2/3/5/6/8/10 шт Sonoff основной умный дом Wifi переключатель беспроводной пульт дистанционного управления выключатель света таймер DIY модули 10А/2200 Вт через Ewelink

качаем последнюю версию прошивки Tasmota

и меняем в ней 2 вещи
убираем в файле my_user_config.h «//» перед
#define USE_SDM630
далее в файле
модифицируем строку разбора данных
на
const uint16_t sdm630_start_addresses[] {
0x0000, // L1 - SDM630_VOLTAGE [V]
0x0002, // L2 - SDM630_VOLTAGE [V]
0x0004, // L3 - SDM630_VOLTAGE [V]
0x0008, // L1 - SDM630_CURRENT [A]
0x000A, // L2 - SDM630_CURRENT [A]
0x000C, // L3 - SDM630_CURRENT [A]
0x0012, // L1 - SDM630_POWER [W]
0x0014, // L2 - SDM630_POWER [W]
0x0016, // L3 - SDM630_POWER [W]
0x001A, // L1 - SDM630_REACTIVE_POWER [VAR]
0x001C, // L2 - SDM630_REACTIVE_POWER [VAR]
0x001E, // L3 - SDM630_REACTIVE_POWER [VAR]
0x002A, // L1 - SDM630_POWER_FACTOR
0x002C, // L2 - SDM630_POWER_FACTOR
0x002E, // L3 - SDM630_POWER_FACTOR
0x0100 // Total - SDM630_TOTAL_ACTIVE_ENERGY [Wh]
};

далее длинным нажатие на set заходим в изменения пароля в счетчике — длинным нажатием и сохраняем кнопкой turn переходим далее
где выставляем следующее
адрес 001
скорость 9600
и тип на none (тут интересно так как тип может ввести в заблуждение)
далее подключаете TTL к RS485 к пинам rx->rx tx->gpio14
далее в настройках модуля прописываем

и вуаля

 

по факту можно заморочиться и создать шаблон, а можно даже попросить добавить новое оборудование, но на сколько я понял по тасмота там пошли другим путем и предлагают универсальный модуль для всех счетчиков — но настроить через него у меня не получилось а вряд ли у меня появится счетчик SDM630

Январь 26

nginx mysql ubuntu php оптимизация

/etc/mysql/mysql.cfg

Добавляем в конце — это реально ускорит на 70% от дефолтного значения ваш сервер

# InnoDb
innodb_file_per_table
#
innodb_buffer_pool_size = 1G
innodb_additional_mem_pool_size = 16M
#
innodb_log_files_in_group = 2
innodb_log_file_size = 128M
innodb_log_buffer_size = 8M
innodb_lock_wait_timeout = 120
#
innodb_thread_concurrency = 2
#
transaction-isolation = READ-COMMITTED
innodb_flush_method = O_DIRECT
innodb_flush_log_at_trx_commit = 2

Декабрь 5

No STATE or SENSOR via MQTT — RSL instead of MQT Tasmota Arduino ESP8266 & ESP12 nodemcu

не отправляет данные в логах пишет RSL: заместо MQT:
такое бывает при длинных строках проблема озвучена, но решения там нет. началось на версии 6.5 и при версии 7.1 решение проблемы у нас под самым носом 🙂


/*====================================================
Prerequisites:
- Change libraries/PubSubClient/src/PubSubClient.h
#define MQTT_MAX_PACKET_SIZE 1000

- Select IDE Tools - Flash Mode: "DOUT"
- Select IDE Tools - Flash Size: "1M (no SPIFFS)"
====================================================*/

К тож читает комментарии 🙂 проблема не массовая так как если у вас в ардуино нет установленной библиотеки сторонней PubSubClient то вы никогда не напоритесь на проблему, нет смысла откатывать до другой версии ядра и.т.п просто разрешите используемой библиотеке увеличить размер сообщения 🙂

Ноябрь 22

nginx bitrix 1C синхронизация и ошибки

a client request body is buffered to a temporary file

a client request body is buffered to a temporary file

fastcgi_read_timeout 95;
client_body_buffer_size 1M;
client_max_body_size 1M;
proxy_connect_timeout 300s;
proxy_send_timeout 300;
proxy_read_timeout 300;

или больше если нужно но тогда лучше только для правила только синхронизации

Ноябрь 15

git откат возврат

откат рабочей версии до коммита

git checkout bc1aa********************************fbd3a1

когда захотите вернуть все обратно
до последнего комита

git reset --hard HEAD@{1}

если вы находитесь в какой-то ветке то будет ошибка

после вы захотите выполнить обновление pull
git pull

You are not currently on a branch.
Please specify which branch you want to merge with.
See git-pull(1) for details.

git pull

перейти на ветку можно так

git checkout имя_ветки

Октябрь 10

a client request body is buffered to a temporary file / && upstream timed out (110: Connection timed out) while reading response header from upstream,


location @php {
fastcgi_index index.php;
fastcgi_param PHP_ADMIN_VALUE "sendmail_path = /usr/sbin/sendmail -t -i -f webmaster@****.ru";
fastcgi_pass unix:/var/www/php-fpm/admin.sock;
fastcgi_split_path_info ^((?U).+\.ph(?:p\d*|tml))(/?.+)$;
try_files $uri =404;
include fastcgi_params;
fastcgi_read_timeout 350;
client_body_buffer_size 10M;
client_max_body_size 10M;

}