Страница 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.
Снимок экрана_2022-07-29_11-37-10.png
#!/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 ]]
такое допустимо? :blink2: капец язык...

Domoticz

Добавлено: 29 июл 2022, 15:50
rogoznik
WWolf, конечно нет :-D
Это я просто скопипастил у него и даже не посмотрел

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}"