Это не подробная инструкция что, как и зачем..
Это просто мои "заметки на память".Попробуем создать custom sensor в системе домашней автоматизации HOMEd, который будет показывать статус подключен ли телефон домашней WiFi сети (посредством скрипта в OpenWRT который будет пинговать ip адрес устройства и класть в MQTT брокер статус) и простенькую автоматизацию по этому сенсору.
1. Создаем кастомный сенсор. Web HOMEd - Custom - Add:
Создание custom sensor в HOMEd Name = имя сенсора
ID = id сенсора
Exposes = select
Options = {"select":{"enum":["off","on"]}}
Таким образом мы создаем сенсор который будет принимать значение on и off.
Если требуется накопительная статистика, то в рекордере создаем запись. Web HOMEd - Recorder - Add:
Настраиваем recorder в HOMEd для custom sensor 2. Создаем скрипт ping. Подключаемся к шлюзу с помощью WinSCP, создаем файл скрипта.
#!/bin/sh
# Кого пингуем
ip_target="192.168.0.11"
# пингуем
if ping -c 1 $ip_target &> /dev/null
then
#echo "success"
ip_status="on"
else
#echo "not success"
ip_status="off"
fi
#echo $ip_status
# пушим в mqtt homed
mosquitto_pub -h localhost -p 1883 -t homed/td/custom/telephone -m "{\"select\":\"$ip_status\"}" -u "homed" -P "pass_homed"
переменные в коде:
ip_target - цель, кого пингуем
-h localhost -p 1883 - адрес и порт mosquitto брокера (mqtt)
-t homed/td/custom/telephone - топик mqtt куда кладем данные
-u "homed" -P "pass_homed" - логин пароль от mqtt
Даем права на выполнение скрипта:
3. Создаем автоматизацию, которая в зависимости от статуса нашего кастом сенсора будет слать в Telegram значение On или Off. Web HOMEd - Automation - Add:
Создание автоматизации в homed Здесь:
Trigger = interval - срабатывать каждые 5 минут
Actions:
1. выполнить shell команду - запустить наш скрипт, который мы писали в п.2
2. подождать 45 секунд - выполнение скрипта не мгновенное
3. выполнить действие в зависимости от состояния нашего custom сенсора - сравниваем property Select нашего сенсора Telephone со значением on
Естественно, что вместо сообщения в Телеграм можно сделать любые действия в этой автоматизации - что-то включать, что-то выключать например.
Вот так выглядят сообщения в Телеграме:
А вот так выглядит статистика в Recorder:
История сенсора пинг в Homed