Страница 1 из 1
Domoticz
Добавлено: 20 мар 2022, 21:12
Jorro
Может есть люди которые умными домами занимаются,интересует связь колонки Алисы с Domoticz ?
Domoticz
Добавлено: 20 мар 2022, 21:46
di_mok
Jorro, а Domoticz - это окончательный приговор? Просто могу сказать с уверенностью, что ЯС прекрасно интегрируется в HomeAssistant. Вплоть вот до таких цацек:
https://www.youtube.com/watch?v=6XFn5NFIEjY
Да и в целом HA очень приятная штука
Domoticz
Добавлено: 29 июл 2022, 12:49
Jorro
Всем привет,решил соскочить с Domoticz и остаться на голом mqtt,пытаюсь создать условия на bash.
#!/bin/bash
mosquitto_sub -h localhost -t "zigbee2mqtt/Датчик протечки 1/water_leak" | while read -r var &&
mosquitto_sub -h localhost -t "zigbee2mqtt/Розетка 1/state" | while read -r var1
do
echo "${var}" && echo "${var1}"
if [[ $var = true ]] && if [[ $var1 = On ]]
then
mosquitto_pub -h localhost -t "zigbee2mqtt/Розетка 1/set" -m "Off"
fi
неожиданный конец файла
Domoticz
Добавлено: 29 июл 2022, 14:26
demonlibra
Jorro писал(а): ↑29 июл 2022, 12:49
неожиданный конец файла
???
Domoticz
Добавлено: 29 июл 2022, 15:23
rogoznik
Jorro, так это работать не будет
Domoticz
Добавлено: 29 июл 2022, 15:36
Jorro
Я знаю,поэтому и обратился за помощью,одно условие работает,два не хочет.
Я смотрю в интернете нормальные люди такой ерундой не занимаются как я,пускай тогда Domoticz работает,есть не просит.
Можно удалять тему.
Domoticz
Добавлено: 29 июл 2022, 15:45
WWolf
Jorro писал(а): ↑29 июл 2022, 15:36
одно условие работает,два не хочет.
ну логично же

гуглится ж всё на раз
пример 3 и 8... а как у тебя написано?
https://blog.pridybailo.com/%D0%BF%D1%8 ... 0%B2-bash/
Domoticz
Добавлено: 29 июл 2022, 15:46
rogoznik
Jorro, типа такого можно сделать
Код: Выделить всё
#!/bin/bash
while :
do
var1=$(mosquitto_sub -h localhost -t "zigbee2mqtt/Датчик протечки 1/water_leak")
var2=$(mosquitto_sub -h localhost -t "zigbee2mqtt/Розетка 1/state")
if [[ $var = true && $var1 = On ]]; then
mosquitto_pub -h localhost -t "zigbee2mqtt/Розетка 1/set" -m "Off"
fi
echo "Press <CTRL+C> to exit."
sleep 1
done
Domoticz
Добавлено: 29 июл 2022, 15:48
WWolf
Не по теме
rogoznik писал(а): ↑29 июл 2022, 15:46
if [[ $var = true ]] && if [[ $var1 = On ]]
такое допустимо?

капец язык...
Domoticz
Добавлено: 29 июл 2022, 15:50
rogoznik
WWolf, конечно нет
Это я просто скопипастил у него и даже не посмотрел
Domoticz
Добавлено: 29 июл 2022, 17:48
Jorro
Наверное так получить данные с топика невозможно,их просто нет,а while read -r var1 может данные забрать.
Но все равно спасибо.
Domoticz
Добавлено: 29 июл 2022, 17:56
Jorro
Вот скрипт который работает
#!/bin/bash
#while true ;do
mosquitto_sub -t "zigbee2mqtt/Датчик освещенности/illuminance" -q 1 | while read -r var
do
echo "${var}"
if [[ $var -le 10000 ]]
then
mosquitto_pub -t "zigbee2mqtt/Лампочка 1/set" -m "ON"
else
mosquitto_pub -t "zigbee2mqtt/Лампочка 1/set" -m "Off"
fi
done
Он не сильно от того отличается.
Domoticz
Добавлено: 18 апр 2023, 09:07
Jorro
Всем привет,подскажите,почему с терминала скрипт работает,а с автозагрузки не хочет ?
#!/bin/bash
#while true ;do
mosquitto_sub "zigbee2mqtt/Датчик открытия/contact" -q 1 | while read -r var
do
# echo "${var}"
if [[ $var == false ]]; then
notify-send "Двери в тамбуре открыты"
fi
if [[ $var == true ]]; then
notify-send "Двери в тамбуре закрыты"
fi
done
Domoticz
Добавлено: 18 апр 2023, 09:13
symon2014
Jorro писал(а): ↑18 апр 2023, 09:07
а с автозагрузки не хочет ?
Поделись своим вариантом автозагрузки. Телепатить неохота. Как и твоему скрипту.
Domoticz
Добавлено: 18 апр 2023, 09:26
Jorro
Спасибо,разобрался,вместо sh путь к скрипту,/bin/bash -c,все заработало.
Domoticz
Добавлено: 14 апр 2024, 16:00
Jorro
Всем привет,это опять я :-)
Подскажите как прочитать конкретное значения только после слова status и все ?
while IFS=: read words status var
{"event":{"status":{online},"time":{}} выводится и после слова status {online},time:{}}
Спасибо.
Domoticz
Добавлено: 14 апр 2024, 17:13
rogoznik
Jorro писал(а): ↑14 апр 2024, 16:00
Подскажите как прочитать конкретное значения только после слова status и все ?
Изучай
Domoticz
Добавлено: 14 апр 2024, 21:05
Jorro
Не могу понять почему тоже значение в var1 уходит.
echo "${var}"
var1=$(echo "${var}" | grep -i -A 10 'status:')
echo "${var1}"