Устанавливаем PhpStorm 2022.1.4, распаковываем папку ja-netfilter в корень диска C.
Распаковываем папку ja-netfilter в корень диска C
Идем в C:\Program Files\JetBrains\PhpStorm 2022.1.4\bin\phpstorm64.exe.vmoptions и в конец вставляем -javaagent:C:\ja-netfilter-all\ja-netfilter.jar=jetbrains
Добавляем ja-netfilter в vmoptions
Далее запускаем PhpStorm и заходим в меню лицензии. Выбираем License server, в Server address пишем https://jetbra.in и нажимаем Activate.
Активация лицензии
Если все сделали правильно, то PhpStorm должен проглотить лицензию.
Активированный PhpStormа
Пользуйтесь! Самое главное не обновляйтесь на версию выше. Данный способ взлома PhpStorm уже не работает на версии 2022.2!
Сколько не искал как настроить ZM, чтобы он сам удалял старые записи, так и не смог найти. Пришлось сделать свой костыль на PHP. Скрипт писался исключительно для себя, и не претендует на правильность.
<?php
$servername = ""; // IP адрес MySQL сервера
$database = "zm"; // Имя БД
$username = ""; // Имя пользователя БД
$password = ""; // Пароль пользователя БД
$path = ""; // Путь к папке с записями
$interval = "7"; // Удалять записи старше N дней
// Создаем соединение
$mysqli = new mysqli($servername, $username, $password, $database);
// Получаем записи старше N дней
$result = $mysqli->query('SELECT * FROM `Events` WHERE StartDateTime < (NOW() - INTERVAL '.$interval.' DAY)');
$rows = $result->fetch_all(MYSQLI_ASSOC);
// Форматируем дату
$arrDates = array();
foreach($rows as $row) {
$date = explode(' ', $row['StartDateTime'])[0];
array_push($arrDates, $date);
}
// Удаляем дубликаты дат
$arrDates = array_unique($arrDates);
// Удаляем папки старше N дней
foreach($arrDates as $date) {
// Удаление для каждого монитора отдельно
exec('rm -R '.$path.'5/'.$date);
exec('rm -R '.$path.'6/'.$date);
}
// Удаляем записи старше N дней
$mysqli->query('DELETE FROM `Events` WHERE StartDateTime < (NOW() - INTERVAL '.$interval.' DAY)');
// Закрываем соединение
$mysqli->close();
Скрипт запускается командой php script.php из консоли и может быть добавлен в cron.
Датчик протечки или система Анти-кот в Home Assistant
Кот повадился гадить на входной коврик, да так метко, что иногда не замечаешь, вся лужа под ковриком! Что бы не портился ламинат от влаги, пришлось быстро собрать на коленке систему анти-кот которая будет оповещать о совершенном котом преступлении. Для этого понадобилось:
В роле контактов я использую полоски фольги с приклеенными к ним малярным скотчем проводами:
Контакты из фольги
В Home Assistant это выглядит так:
Анти-кот в Home Assistant
Система относительно простая, но рабочая. Из минусов — необходимо подводить питание. Если нету рядом розетки, то это немного проблематично. Можно также использовать и как датчик протечки воды.
Подвох с интеграцией Xiaomi Mi LED Desk Lamp в Home Assistant
Купили пару настольных ламп от Xiaomi заранее посмотрев список поддерживающихся устройств.
Модель в списке поддерживающихся
Но тут я столкнулся с проблемой — отсутствует пункт включения локального управления лампой! Соответственно добавить лампу через интеграцию Yeelight не получится.
Отсутствует пункт включения управления по LAN
После гугления проблемы оказалось, что после очередного обновления приложения Yeelight зачем-то убрали этот пункт. Решение — откатить приложение Yeelight и включить локальное управление, а затем можно обновиться до последней версии.
В старой версии приложения есть пункт включения LAN режима
После включения режима лампа без проблем добавляется в Home Assistant через стандартную интеграцию.
В новых версиях Ubuntu убрали rc.local. Но так как я уже привык к нему, а через crontab не очень удобно, то я решил вернуть его обратно. Создаем файл rc.local:
Так как меня изрядно задолбало видеть «unavailable» и идти перещелкивать автомат на свет, то я начал искать выход из положения. Нашел интеграцию через MIIO https://github.com/al-one/hass-miio-yeelink. Интеграция ставится либо вручную в папку custom_components, либо через HACS.
Для добавления понадобиться токен устройства, который можно посмотреть через шлюз, либо через модифицированный Mi Home от vevs.
После добавления появится 1 объект(по крайней мере для моей модели ceiling20) light без ночного режима и RGB подсветки. Для добавления ночника необходимо создать кнопку и написать автоматизацию.
- alias: Nightlight Off
trigger:
- platform: state
entity_id: input_boolean.yeelink_nightlight
to: "off"
action:
- service: miio_yeelink.send_command
data:
entity_id: light.xiaomi_yeelink
method: set_ps
params:
- nightlight
- 'off'
- alias: Nightlight On
trigger:
- platform: state
entity_id: input_boolean.yeelink_nightlight
to: "on"
action:
- service: miio_yeelink.send_command
data:
entity_id: light.xiaomi_yeelink
method: set_ps
params:
- nightlight
- 'on'
Получим результат:
Да, пока нету поддержки RGB подсветки, но думаю в будущем автор ее добавит. Мне же не особо важна подсветка, а в крайнем случае ей можно управлять через приложение Yeelight. Самое главное, что теперь моя лампа не отваливается несколько раз в сутки, и не приходится бегать дергать автомат, что бы можно было включать с Яндекс.Станции.
Для начала необходимо создать группу, и добавить в нее нашего юзера.
sudo groupadd dev
sudo usermod -aG dev boris
Далее надо изменить группу для нашей папки
sudo chown -R root:dev /var/www
И соответственно выставить на папку права для группы
sudo chmod -R 755 /var/www
Теперь пользователь boris имеет право чтение/запись файлов в директории /var/www. Что бы дать еще одному пользователю доступ, достаточно будет просто добавить его в группу.
Теперь необходимо добавить TXT запись домена. Субдомен указываем mail._domainkey, а значение берем из файла /etc/opendkim/keys/domain.com/mail.txt Пример: